ParallelKMeans.jl

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

ParallelKMeans

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


Documentation

  • Stable Documentation: Stable

  • Experimental Documentation: Dev


Installation

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

Features

  • 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.

Benchmarks

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

benchmark_image.png


License

FOSSA Status