There are couple of methods listed here about finding the value of k in k means algorithm. How much sound is each of these procedure when used to find out the value of k in unsupervised manner.


The idea underlying the k-means algorithm is to find clusters that minimize the intra-cluster variance and maximize the inter-cluster sum-of-square. Note that the total variance is fixed so minimization of intra-cluster variance is equivalent to maximization of inter-cluster sum of square. Basically various methods aim to achieve such minimization.

However, there is no "correct" K number or "best" method in k means. One clustering may be better than another by one metric, but worse by another metric. And depending on your own project, sometimes one clustering works but sometimes it does not.

You had better try those method to see whether they are suit in your case. If your data is not high-dimensional, you can just try kernel density estimation to observe the number of peaks. Otherwise, the easiest and heuristic one is rule of thumbs, then I would suggest Elbow method (cease increasing the number of clusters when the new generated cluster is closed to some of the existing).

There are many discussions on stackoverflow and cross validation on this topic that you may be interested in as well.


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.