Simple, Scalable and Effective Clustering via One-Dimensional Projections

Clustering is a fundamental problem in unsupervised machine learning with many applications in data analysis. Popular clustering algorithms such as Lloyd's algorithm and -means++ can take time when clustering points in a -dimensional space (represented by an matrix ) into clusters. In applications with moderate to large , the multiplicative factor can become very expensive. We introduce a simple randomized clustering algorithm that provably runs in expected time for arbitrary . Here is the total number of non-zero entries in the input dataset , which is upper bounded by and can be significantly smaller for sparse datasets. We prove that our algorithm achieves approximation ratio on any input dataset for the -means objective. We also believe that our theoretical analysis is of independent interest, as we show that the approximation ratio of a -means algorithm is approximately preserved under a class of projections and that -means++ seeding can be implemented in expected time in one dimension. Finally, we show experimentally that our clustering algorithm gives a new tradeoff between running time and cluster quality compared to previous state-of-the-art methods for these tasks.
View on arXiv