This code is based on the algorithm of [BMO+11] and was developed for and used in the experimental section of [SWM11] by Michael Shindler. It remains the intellectual property of the authors. It is provided without any warranty, express or implied. Permission is granted for private and academic use. Please use it if it can assist in your research; we request that you also include an acknowledgement in any publications that use it, and inform Michael by email.
Permission is not granted to redistribute this sourcecode without our express permission. If you want to use the source in any other way as granted above, please contact Michael Shindler via email.

The Code Itself

The files for Streaming k-means are available here; the archive includes the code, two makefiles, and a readme, describing how to compile and run the executable.


[BMO+11] Vladimir Braverman, Adam Meyerson, Rafail Ostrovsky, Alan Roytman, Michael Shindler, and Brian Tagiku. Streaming k-means on Well-Clusterable Data. In SODA, 2011. [ pdf ]
[SWM11] Michael Shindler, Alex Wong, and Adam Meyerson. Fast and Accurate k-means for Large Datasets. In NIPS, 2011. [ pdf ]