Take the 2-minute tour ×

For a collection of points in $\mathbb{R}^n$, is there a statistic that I can compute which will estimate the number of clusters with some level of confidence?

share|improve this question

5 Answers 5

up vote 4 down vote accepted

This is an age-old question, which actually does not have (I think even cannot have) a definite answer, because first you need to define what you mean by a cluster and so on. A famous saying in this regard is that "cluster is in the eye of a beholder". It is easy to construct examples where somebody could see one cluster, but somebody else more than one.

This being said, the MDL (minimum description length) principle would lead you to devise (IMHO) a clustering cost function in a most principled way, which by optimizing you could the find the cluster assignments and number of clusters simultaneously. For multinomial data you can see following: P.Kontkanen, P.Myllymäki, W.Buntine, J.Rissanen, H.Tirri, An MDL Framework for Data Clustering. In Advances in Minimum Description Length: Theory and Applications, edited by P. Grünwald, I.J. Myung and M. Pitt. The MIT Press, 2005.

The intuitively-appealing idea behind MDL clustering is that by clustering you create a model of the data. So the assumption is that a very good model is one that lets you compress the data well.

Anyway MDL might not be easy to apply, if you are looking for a practical way to detect the number of clusters. BIC (Bayesian information criteria) and the F-ratio have proven to work OK in practice.

share|improve this answer


Barcodes: the persistent topology of data


share|improve this answer
I don't think persistent homology actually would help with this. The question doesn't seem to be about data analysis, but clustering of data. –  jd.r Oct 21 '09 at 11:37
Isn't persistent 0th homology pretty relevant to the OP's problem? –  Darsh Ranjan Oct 21 '09 at 16:06
Yes, that's true. –  jd.r Oct 21 '09 at 17:48


share|improve this answer




share|improve this answer

There is a whole research field on this, and the answers so far have only highlighted a few of the specific algorithms developed. Check out this Wikipedia article on cluster analysis for an overview and some references.

share|improve this answer
See also Determining the number of clusters in a data set on Wikipedia and Chapter 8 (especially Section 8.5) of Introduction to Data Mining by Tan, Steinbach & Kumar. (Chapter 8 has kindly been made available on Kumar's website.) –  J W Oct 18 at 21:57

Your Answer


