rust-ml/linfa
A Rust machine learning framework.
What it solves
Linfa provides a comprehensive toolkit for building machine learning applications in Rust. It aims to bring the functionality of Python's scikit-learn to the Rust ecosystem, offering a standardized way to handle common preprocessing tasks and classical machine learning algorithms.
How it works
Linfa is organized as a collection of sub-packages, each focusing on a specific category of ML. It provides implementations for supervised learning (like Decision Trees and SVMs), unsupervised learning (like K-Means and DBSCAN), and essential preprocessing tools (like PCA and normalization). For performance-critical linear algebra, it defaults to a pure-Rust implementation but allows users to opt into external BLAS/LAPACK backends such as OpenBLAS or Intel MKL.
Who it’s for
It is designed for developers who want to implement classical machine learning workflows within a Rust environment, benefiting from Rust's safety and performance.
Highlights
- Broad Algorithm Support: Includes Naive Bayes, Random Forests, Logistic Regression, and Support Vector Machines.
- Clustering & Reduction: Features K-Means, t-SNE, and Principal Component Analysis (PCA).
- Flexible Backends: Supports pure-Rust linear algebra or high-performance external BLAS/LAPACK libraries.
- Web Compatibility: Includes a
wasm-bindgenfeature for running in the browser via WASM.
Related
- Project
- Project
- Project
- Project
- Project