I would like to know what is the better way to determine the number of clusters - elbow method, or the silhouette?

I've used elbow method, increasing number of clusters while the total distance decreases for 5% in each iteration. The good thing about it is that I could stop increasing the number of clusters when I find that total distance is "converging". The bad thing is that I need to specify the percentage.

When using the silhouette I would perform clustering until certain limit and find the maximal silhouette, hoping for best clustering.

But I would like to know from which to expect better results? I haven't tried the silhouette, but I am very tempted since it considers more than intra-cluster distance.

  • 1
    $\begingroup$ That is wrongly posed question because the two aren't mutual alternatives. Silhouette criterion is one of internal clustering validation criterions. "Elbow" is not a criterion but is a decision method/rule (while contemplating a plot of a criterion values). It can be used with many criterions, including the silhouette. In two last paragraphs here I've said that "landscape" (or elbow, if you wish) "rule" can be wiser approach than "min" or "max". $\endgroup$
    – ttnphns
    Jul 13, 2015 at 11:25
  • $\begingroup$ Thank you for your answer. So you suggest that it is better to go with the elbow (or landscape), because you usually go towards the smallest number of clusters? But do you recommend usage of silhouette, or silhouette plot for some reason? I haven't used it before and it seems that it might be useful.. Maybe you could identify outliers using this plot? $\endgroup$ Jul 13, 2015 at 11:46
  • 1
    $\begingroup$ I may recommend you to get acquainted with silhouette clustering criterion. So read about it first. It is quite universal and it has a nice property that it can be computed for an individual object, thus showing how well each object is clustered. (BTW, I have programmed several versions of Silhouette criterion - as a function for SPSS; it is found on my site.) $\endgroup$
    – ttnphns
    Jul 13, 2015 at 12:14
  • $\begingroup$ Thank you for the suggestion. I have actually read the original paper (sciencedirect.com/science/article/pii/0377042787901257). That is how I got interested, because I read that you can use it to determine the number of clusters. But I'm also interested in part of determining outliers.I'm actually performing clustering to get a model that I will use for anomaly detection. But it would be good if I could identify the outliers while the clustering itself, or at least to be able to say - "this seems suspicious". Do you think silhouette visualization could be useful for this? $\endgroup$ Jul 13, 2015 at 12:30


Your Answer

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

Browse other questions tagged or ask your own question.