What are suitable clustering algorithms for high dimensional data, where I do not have to input a predetermined number of clusters?

  • $\begingroup$ Have a look at this CRAN task view. $\endgroup$ Jun 24 '15 at 8:47
  • $\begingroup$ Look for two-step cluster and twostep cluster on this site. This method can suggest the number of clusters at a halfway of the process. $\endgroup$
    – ttnphns
    Jun 24 '15 at 10:34

The most common clustering technique that meets your requirements would be DBSCAN. This finds points that are continuous by virtue of having shared nearest neighbors. There can be any number of clusters, and they can be of any shape. There are only two parameters to choose / enter: epsilon, a 'reachability' distance, and minpoints, the minimum number of points for the resulting set to be considered a cluster.

The problem (potentially) in high-dimensional space is the curse of dimensionality. That is, all points can become equidistant from all other points. Since DBSCAN uses distance directly, this could become a problem and require you to explore distances other than Euclidean or other remedies. Note that high dimensionality does not necessitate this problem, however. For more, see this excellent CV answer: Euclidean distance is usually not good for sparse data?


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.