Kmeans Clustering

Version (3.31 KB) by Mo Chen
Super fast and terse kmeans clustering.
Updated 13 Mar 2017

View License

This is a super duper fast implementation of the kmeans clustering algorithm. The code is fully vectorized and extremely succinct. It is much much faster than the Matlab builtin kmeans function. The kmeans++ seeding algorithm is also included (kseeds.m) for good initialization. Therefore, this package is not only for coolness, it is indeed practical.
Please try the demo script in the package.

Detail explanation of this algorithm can be found in following blog post:

This function is now a part of the PRML toolbox (

Cite As

Mo Chen (2024). Kmeans Clustering (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

tweak and require Matlab R2016b or later
finalize, I'm done with kmeans.

fix incompatibility issue with newer version of Matlab, due to the stupid API change of function unique()
update tags

Cleaning up

remove empty clusters according to suggestion

remove empty clusters according to suggestion

fix a bug for 1d data

update the files and description