K Means vs Density Based Clustering



Why is K means algorithm so widely used as compared to Density Based Clustering, when the latter has multiple advantages over the former?
Density Based is not restricted to spherical clusters, is resistant towards noise, can handle outliers and you don’t even have to specify the number of clusters before hand.

What does K means have to offer, other than its simplicity, that Density does not?



That it is extremely fast in comparison to DBSCAN or OPTICS. My understanding is that in real world out there clustering is just an intermediate step of any solution and with the influx of new data points being added rapidly, clusters need to be computed in real time to be of any value.

So, everything boils down to the application part. If clustering is your end product, then DBSCAN and OPTICS are your tools otherwise K-means is good to go for problems like market segmentation by e-commerce firms where it is a cut throat competition to acquire and serve a customer.

Also, these e-commerce firms form the “most widely used” cluster whereas in literature you will always find DBSCAN and OPTICS preferred over k-means.

There is one other factor I know that may contribute to the immense use of K-means over DBSCAN.

DBSCAN requires data to be of varying densities which is not always the case and also the densities should be sufficiently high.