linfa-clustering

Crates.iolinfa-clustering
lib.rslinfa-clustering
version0.7.0
sourcesrc
created_at2019-11-23 17:40:32.83152
updated_at2023-10-16 04:45:08.530356
descriptionA collection of clustering algorithms
homepage
repositoryhttps://github.com/rust-ml/linfa/
max_upload_size
id183760
size254,639
wg (github:rust-ml:wg)

documentation

README

Clustering

linfa-clustering aims to provide pure Rust implementations of popular clustering algorithms.

The big picture

linfa-clustering is a crate in the linfa ecosystem, an effort to create a toolkit for classical Machine Learning implemented in pure Rust, akin to Python's scikit-learn.

You can find a roadmap (and a selection of good first issues) here - contributors are more than welcome!

Current state

linfa-clustering currently provides implementation of the following clustering algorithms, in addition to a couple of helper functions:

  • K-Means

  • DBSCAN

  • Approximated DBSCAN (Currently an alias for DBSCAN, due to its superior performance)

  • Gaussian Mixture Model

Implementation choices, algorithmic details and a tutorial can be found here.

BLAS/Lapack backend

We found that the pure Rust implementation maintained similar performance to the BLAS/LAPACK version and have removed it with this PR. Thus, to reduce code complexity BLAS support has been removed for this module.

License

Dual-licensed to be compatible with the Rust project.

Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.

Commit count: 313

cargo fmt