Parallel & lightning fast implementation of available classic and contemporary variants of the KMeans clustering algorithm
49 Stars
Updated Last
11 Months Ago
Started In
February 2020


Stable Dev ColPrac: Contributor's Guide on Collaborative Practices for Community Packages Build Status codecov FOSSA Status Binder

Authors: Bernard Brenyah AND Andrey Oskin

Classic & Contemporary Variants Of K-Means In Sonic Mode

Table Of Content


  • Stable Documentation: Stable

  • Experimental Documentation: Dev


You can grab the latest stable version of this package by simply running in Julia. Don't forget to Julia's package manager with ]

pkg> add ParallelKMeans

For the few (and selected) brave ones, one can simply grab the current experimental features by simply adding the experimental branch to your development environment after invoking the package manager with ]:

pkg> add ParallelKMeans#master

To revert to a stable version, you can simply run:

pkg> free ParallelKMeans


  • Lightning fast implementation of K-Means clustering algorithm even on a single thread in native Julia.
  • Support for multi-theading implementation of K-Means clustering algorithm.
  • Kmeans++ initialization for faster and better convergence.
  • Implementation of all available variants of the K-Means algorithm.
  • Support for all distance metrics available at Distances.jl
  • Supported interface as an MLJ model.


Currently, this package is benchmarked against similar implementations in both Python, R, and Julia. All reproducible benchmarks can be found in ParallelKMeans/extras directory.



FOSSA Status