K-means clustering is a very popular clustering technique, which is used in numerous applications. Given a set of n data points in Rd and an integer k, the problem is to determine a set of k points Rd, called centers, so as to minimize the mean squared distance from each data point to its nearest center. A popular heuristic for k-means clustering is Lloyd's algorithm. In this paper we present a simple and efficient implementation of Lloyd's k-means clustering algorithm, which we call the filtering algorithm. This algorithm is very easy to implement. It differs from most other approaches in that it precomputes a kd-tree data structure for the data points rather than the center points. We establish the practical efficiency of the filtering algorithm in two ways. First, we present a data-sensitive analysis of the algorithm's running time. Second, we have implemented the algorithm and performed a number of empirical studies, both on synthetically generated data and on real data from applications in color quantization, compression, and segmentation.
|Number of pages||10|
|State||Published - 2000|
|Event||16th Annual Symposium on Computational Geometry - Hong Kong, Hong Kong|
Duration: 12 Jun 2000 → 14 Jun 2000
|Conference||16th Annual Symposium on Computational Geometry|
|City||Hong Kong, Hong Kong|
|Period||12/06/00 → 14/06/00|