Skip to main content

Crate anofox_ml_cluster

Crate anofox_ml_cluster 

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