Skip to main content

Crate ferrolearn_cluster

Crate ferrolearn_cluster 

Source
Expand description

§ferrolearn-cluster

Clustering algorithms for the ferrolearn machine learning framework.

This crate provides unsupervised clustering methods:

  • KMeans — K-Means clustering with k-Means++ initialization and parallelized assignment via Rayon (REQ-6).
  • DBSCAN — Density-Based Spatial Clustering of Applications with Noise (REQ-7).
  • GaussianMixture — Gaussian Mixture Models via the Expectation-Maximisation algorithm, with four covariance types (full, tied, diagonal, spherical) (REQ-3).
  • AgglomerativeClustering — Bottom-up hierarchical clustering with Ward, Complete, Average, and Single linkage (REQ-5).
  • MeanShift — Non-parametric mode-seeking clustering (REQ-23).
  • SpectralClustering — Graph Laplacian eigenmap clustering (REQ-23).
  • OPTICS — Ordering Points To Identify the Clustering Structure (REQ-23).
  • Hdbscan — Hierarchical DBSCAN with automatic cluster detection.
  • Birch — Balanced Iterative Reducing and Clustering using Hierarchies.
  • LabelPropagation — Semi-supervised label propagation through a similarity graph.
  • LabelSpreading — Semi-supervised label spreading via normalized graph Laplacian.
  • AffinityPropagation — Exemplar-based clustering via message passing, automatically determines number of clusters.
  • BisectingKMeans — Divisive hierarchical clustering that recursively bisects the largest cluster.
  • BayesianGaussianMixture — Variational Bayesian GMM with automatic component pruning via Dirichlet Process or Dirichlet Distribution priors.
  • FeatureAgglomeration — Hierarchical clustering of features (columns) with pooling-based dimensionality reduction.

§Design

All algorithms follow the compile-time safety pattern:

§Float Generics

All algorithms are generic over F: num_traits::Float + Send + Sync + 'static, supporting both f32 and f64.

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 bayesian_gmm::BayesianCovType;
pub use bayesian_gmm::BayesianGaussianMixture;
pub use bayesian_gmm::FittedBayesianGaussianMixture;
pub use bayesian_gmm::WeightPriorType;
pub use birch::Birch;
pub use birch::FittedBirch;
pub use bisecting_kmeans::BisectingKMeans;
pub use bisecting_kmeans::BisectingStrategy;
pub use bisecting_kmeans::FittedBisectingKMeans;
pub use dbscan::DBSCAN;
pub use dbscan::FittedDBSCAN;
pub use feature_agglomeration::AgglomerativeLinkage;
pub use feature_agglomeration::FeatureAgglomeration;
pub use feature_agglomeration::FittedFeatureAgglomeration;
pub use feature_agglomeration::PoolingFunc;
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 label_propagation::FittedLabelPropagation;
pub use label_propagation::LabelPropagation;
pub use label_propagation::LabelPropagationKernel;
pub use label_spreading::FittedLabelSpreading;
pub use label_spreading::LabelSpreading;
pub use label_spreading::LabelSpreadingKernel;
pub use mean_shift::FittedMeanShift;
pub use mean_shift::MeanShift;
pub use mini_batch_kmeans::FittedMiniBatchKMeans;
pub use mini_batch_kmeans::MiniBatchKMeans;
pub use mini_batch_kmeans::MiniBatchKMeansInit;
pub use optics::FittedOPTICS;
pub use optics::OPTICS;
pub use spectral::FittedSpectralClustering;
pub use spectral::SpectralClustering;

Modules§

affinity_propagation
Affinity Propagation clustering.
agglomerative
Agglomerative (bottom-up) hierarchical clustering.
bayesian_gmm
Bayesian Gaussian Mixture Models via Variational Inference.
birch
BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies).
bisecting_kmeans
Bisecting K-Means clustering.
dbscan
DBSCAN (Density-Based Spatial Clustering of Applications with Noise).
feature_agglomeration
Feature Agglomeration — hierarchical clustering of features.
gmm
Gaussian Mixture Models (GMM) using the Expectation-Maximisation algorithm.
hdbscan
HDBSCAN (Hierarchical Density-Based Spatial Clustering of Applications with Noise).
kmeans
K-Means clustering with k-Means++ initialization.
label_propagation
Label Propagation for semi-supervised classification.
label_spreading
Label Spreading for semi-supervised classification.
mean_shift
Mean Shift clustering.
mini_batch_kmeans
Mini-Batch K-Means clustering.
optics
OPTICS — Ordering Points To Identify the Clustering Structure.
spectral
Spectral Clustering via graph Laplacian eigenmaps.