Live data from Hacker News

Comparing Clustering Algorithms

nbviewer.jupyter.org

11–20 of 41 posts

Re: Comparing Clustering Algorithms

#12
I would say there are two aspects of clustering that are important: accuracy of the model, and accuracy of the model fitting process.

A model is a guess about the underlying process that "generates" the data. If you're trying to use hyperplanes to divide data that lies on a manifold, then you are going to have poor results no matter how good your fitting algorithm is.

On the other hand, even if you know the true model, high levels of noise can prevent you from recovering the correct parameters. For instance, Max-Cut is NP-hard, and the best we can do is a semidefinite programming approximation. Beyond a certain noise threshold, the gap between the SDP solution and the true solution becomes very large very quickly.

Re: Comparing Clustering Algorithms

#13
post #11

Interesting, but the subtitle "Why you should use HDBSCAN" makes little sense on a dataset of N=1.

That's fair, but the subtitle was intended to be a little controversial. I could have included more datasets, but ultimately that just clutters the exposition -- instead I chose a dataset that can illustrate several different ways clustering algorithms can break. Ultimately it is meant to be a teaser as to why you should use HDBSCAN; the real answer is to grab the code and run it on your data, or your favorite test datasets, and see how it performs for you (because there is no substitute for that). I'm actually pretty confident you'll find the results impressive enough to make HDBSCAN a go-to choice for clustering.

Re: Comparing Clustering Algorithms

#14
It would be interesting to see what Agglomerative Clustering the author is using here. I suspect for this two dimensional, density based cluster dataset, single-link agglomerative would perform much better than what is shown (likely average link).

Re: Comparing Clustering Algorithms

#15

I would say there are two aspects of clustering that are important: accuracy of the model, and accuracy of the model fitting process. A model is a guess about the underlying process that "generates" the data. If you're trying to use hyperplanes to divide data that lies on a manifold, then you are going to have poor results no matter how good your fitting algorithm is. On the other hand, even if you know the true mode…

soft margin SVM would be useful here. And there are manifold aware topographical clustering algorithms, like Persistent Homology techniques, Gunnar Carlson is the man on this new clustering offshoot.

Re: Comparing Clustering Algorithms

#16
I wrote an article about mean-shift a while back if anyone is interested in more details about it - https://spin.atomicobject.com/2015/05/26/mean-shift-clusteri...

Some comments on K-Means - one large limitation of K-Means is that it assumes spherical shaped clusters. It will fail terribly for any other cluster shape.

It's interesting that the author compared results on the same data set for the different algorithms. Each clustering approach is going to work best on a specific type of data set. It would be interesting to compare them across several different data sets to get a better feel for strengths/weaknesses, etc.

Re: Comparing Clustering Algorithms

#17

It would be interesting to see what Agglomerative Clustering the author is using here. I suspect for this two dimensional, density based cluster dataset, single-link agglomerative would perform much better than what is shown (likely average link).

It was actually Ward. I agree that single linkage would have performed better, however the noise would have greatly confused the issue. Robust Single Linkage (Chaudhuri and Dasgupta, 2010) would be the better choice in the presence of noise as with the test dataset (which was designed to be as difficult as possible for clustering algorithms, while being obvious to a human viewer.

Re: Comparing Clustering Algorithms

#18

I would say there are two aspects of clustering that are important: accuracy of the model, and accuracy of the model fitting process. A model is a guess about the underlying process that "generates" the data. If you're trying to use hyperplanes to divide data that lies on a manifold, then you are going to have poor results no matter how good your fitting algorithm is. On the other hand, even if you know the true mode…

soft margin SVM would be useful here. And there are manifold aware topographical clustering algorithms, like Persistent Homology techniques, Gunnar Carlson is the man on this new clustering offshoot.

Oddly enough HDBSCAN can be recast as a persistent homology computation; the trick is in simplicial complex construction; you need something slightly more density aware than traditional Rips complexes. I am currently working on designing a version of Carlsson and Memoli's Multiparameter Hierarchical Clustering based on the persistent homology interpretation of HDBSCAN.

Re: Comparing Clustering Algorithms

#19

I wrote an article about mean-shift a while back if anyone is interested in more details about it - https://spin.atomicobject.com/2015/05/26/mean-shift-clusteri... Some comments on K-Means - one large limitation of K-Means is that it assumes spherical shaped clusters. It will fail terribly for any other cluster shape. It's interesting that the author compared results on the same data set for the different algorithms.…

I agree that on some level more data sets would be nice, but I felt that it cluttered and obscured the exposition. Instead I used the one synthetic dataset, but crafted in to have various properties (noise, cluster shape, variable density, non-standard distributions) that will confound many different clustering approaches ... it is meant to be the "hard" case that with all the difficulties and confounding factors rolled into one dataset.
Post reply on HN