Python and Java Implementations for Linde-Buzo-Gray / Generalized Lloyd Algorithm

Jan 2016 • clustering, python, java

The Generalized-Lloyd or Linde-Buzo-Gray Algorithm for vector quantization implemented in Python and in Java.

It allows clustering of vectors of any dimension. This is helpful for example for image classification when using the SIFT or SURF algorithms where you can cluster the feature vectors. It might be also useful if you want to cluster a large amount of points on a map or lots of other data science applications.

IPython matplotlib output example of LBG algorithm

The Python version also comes along with an IPython notebook to play around with the algorithm.