Expand description
Clustering algorithms: K-Means and DBSCAN.
This crate provides unsupervised clustering methods for grouping data points:
KMeans– Lloyd’s algorithm with k-means++ initialization.Dbscan– density-based spatial clustering of applications with noise.
Both implement FitUnsupervised and
Predict, so the fitted model can assign cluster
labels to new data points.
§Examples
use ndarray::array;
use anofox_ml_core::{FitUnsupervised, Predict};
use anofox_ml_cluster::KMeans;
let x = array![
[0.0, 0.0],
[1.0, 0.0],
[0.0, 1.0],
[10.0, 10.0],
[11.0, 10.0],
[10.0, 11.0]
];
let kmeans = KMeans::new(2).with_seed(42);
let fitted = FitUnsupervised::<f64>::fit(&kmeans, &x).unwrap();
// Points in the same group get the same label
let labels = fitted.labels();
assert_eq!(labels[0] as usize, labels[1] as usize);
assert_eq!(labels[3] as usize, labels[4] as usize);
assert_ne!(labels[0] as usize, labels[3] as usize);Re-exports§
pub use affinity_propagation::AffinityPropagation;pub use affinity_propagation::FittedAffinityPropagation;pub use agglomerative::AgglomerativeClustering;pub use agglomerative::FittedAgglomerativeClustering;pub use agglomerative::Linkage;pub use bgmm::BayesianGaussianMixture;pub use bgmm::FittedBayesianGaussianMixture;pub use birch::Birch;pub use birch::FittedBirch;pub use dbscan::Dbscan;pub use dbscan::FittedDbscan;pub use gmm::CovarianceType;pub use gmm::FittedGaussianMixture;pub use gmm::GaussianMixture;pub use hdbscan::FittedHdbscan;pub use hdbscan::Hdbscan;pub use kmeans::FittedKMeans;pub use kmeans::KMeans;pub use mean_shift::FittedMeanShift;pub use mean_shift::MeanShift;pub use mini_batch_kmeans::FittedMiniBatchKMeans;pub use mini_batch_kmeans::MiniBatchKMeans;pub use optics::FittedOptics;pub use optics::Optics;pub use spectral::Affinity;pub use spectral::FittedSpectralClustering;pub use spectral::SpectralClustering;
Modules§
- affinity_
propagation - Affinity Propagation.
- agglomerative
- Agglomerative (hierarchical) clustering.
- bgmm
- Bayesian Gaussian Mixture Model — variational inference.
- birch
- Birch-lite — single-pass online sub-clustering, final global KMeans.
- dbscan
- gmm
- Gaussian Mixture Model with EM training.
- hdbscan
- HDBSCAN — Hierarchical Density-Based Spatial Clustering.
- kmeans
- mean_
shift - Mean-Shift clustering.
- mini_
batch_ kmeans - Mini-batch K-Means.
- optics
- OPTICS — Ordering Points To Identify the Clustering Structure.
- spectral
- Spectral clustering.