I have a set of data (countries), and I use a clustering method (Kmeans) to create two partitions on them based on different data (diet and covid stats). So I get two groups of partitions, and I want to compare them in order to know if a clustering method will aggregate the same countries on the two sets of data.

I want to use the adjusted Rand index in order to do compute this similarity.

The problem is, when you run two clustering algorithms, you have no guarantee whatsoever that the partition labels will be the same. My two KMeans could produce the exact same partition but, for example, the first KMeans could label the cluster containing the US as "A", while the other KMeans could label it as "B". To my understanding, the Rand index needs these labels to be the same.

I cannot find an existing and reliable method in order to "normalize" group labels. Such as if I find the US in group "A" in the first clustering result, I want the US in group A in the second clustering result as well. I think I could write the algorithm myself, but it would be better to use a method that is tested and approved, if such one even exists.

Is there such a method ?


  • $\begingroup$ See here for an example on how to compare different partitions produced by different clustering algorithms. $\endgroup$
    – chl
    Dec 4, 2020 at 18:17
  • $\begingroup$ Thank you for the link. I don't really understand how to apply it to my problem, though. I'm not so much interested about how the produced clusters are meaningful, but rather about how close to each other they are. $\endgroup$
    – Pythalex
    Dec 7, 2020 at 9:01
  • $\begingroup$ "(...) compute the "closeness" of the resulting partitions, as measured by Jaccard similarities. In short, it allows to estimate the frequency with which similar clusters were recovered in the data." $\endgroup$
    – chl
    Dec 7, 2020 at 9:09

1 Answer 1


I wonder why the OP said the two clustering methods couldn't be compared, if they have different labels for clustered observations. Note that Rand indices can even be used to compare partitions with different numbers of clusters. The Rand index is a function of pairs of elements belonging or not to the same cluster in the estimated partitions. If the clusters assignment vectors for clustering method 1 and clustering method 2 have the observations following the same order, there is no need to worry about the labels.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.