1
$\begingroup$

I run k-means clustering on my dataset (100 samples in total) and partition the data into k=5 clusters. Then I want to test how robust of the k-means can be; however, I haven't got more new data samples. My idea is:

  • Take the first sample out and run k-means on the rest of 99 samples.
  • Loop over the step described above for each sample (e.g., take out the 2nd sample at the 2nd iteration), and run the k-means 100 times in total.

My question is how to measure the similarity of the 100 k-means results? I am thinking of get the statistics of silhouette coefficients. Does that make sense?

Thanks.

A.

$\endgroup$
  • $\begingroup$ K-means start with different initial dispositions, repeat. If they don't come to the same center, then membership is different. Also, they sometimes flap. Look at your convergence criteria there. A "learning rate", truncated slightly before convergence can tell you about the nature of variation in convergence is. The fundamental assumption of k-means is equal variance for all clusters. $\endgroup$ – EngrStudent Jul 21 '15 at 15:25
1
$\begingroup$

Using statistics such as Silhouettes will tell you whether each run of the algorithm produces equally tight clusters. This may be sufficient for your needs, but it won't tell you if the same clusters are found each time. You could explicitly compare the cluster centres each time (but remember that different permutations of the same centres may happen in different runs, as the model is unsupervised). Another option is to use the Adjusted Rand Index (or normalized mutual information) to measure the similarity between two cluster solutions. These basically measure how often two points are assigned to the same cluster and how often to different clusters.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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