sklears-semi-supervised
Latest release:
0.2.0(July 14, 2026). See the workspace release notes for highlights and upgrade guidance.
Overview
sklears-semi-supervised implements semi-supervised learning algorithms that align with scikit-learn’s API, covering label propagation, self-training, and graph-based methods.
Key Features
- Algorithms: LabelPropagation, LabelSpreading, SelfTrainingClassifier, co-training/tri-training, and graph-based methods (harmonic functions, local/global consistency, manifold regularization).
- Graph Support: Efficient knn graph construction, similarity kernels, and Rayon-parallelized graph algorithms (
parallel_graph) with SIMD-accelerated distance kernels (simd_distances) for large graphs. - Pipeline Integration: Works with datasets containing missing labels and plugs into sklears pipelines.
- Monitoring: Built-in tracking for convergence diagnostics and label confidence scores.
Quick Start
use LabelSpreading;
use ;
use ;
let x = array!;
let y = from; // -1 denotes unlabeled
let model = new
.kernel
.gamma
.max_iter
.tol;
let fitted = model.fit?;
let inferred = fitted.predict?;
Status
- Exercised by 356 passing tests in
0.2.0(Stable). - Broad coverage of scikit-learn's semi-supervised module (label propagation/spreading, self-training) plus additional graph-based methods (harmonic functions, co/tri-training, manifold regularization) not present upstream.
- Graph algorithms are CPU-parallelized (Rayon) and SIMD-accelerated; no GPU backend is implemented in this crate.
- Additional experiments (semi-supervised regression, curriculum learning) tracked in
TODO.md.