Clustering techniques don’t always produce a single answer. Consensus clustering takes each of these answers and combines them into a better graph.

Algorithm is:

  1. Apply clustering algorithm on graph times, yielding partitions.
  2. Compute the consensus matrix : is the number of partitions in which vertices and of are assigned to the same community, divided by .
  3. All entries of below a chosen threshold are set to zero.
  4. Apply on times, yielding partitions.
  5. If the partitions are all equal, stop. Otherwise, go back to 2.

Because the result is a weighted network, the algorithm has to be able to work w/ weighted graphs.