smartcorelib/smartcore
A comprehensive library for machine learning and numerical computing. Apply Machine Learning with Rust leveraging first principles.
What it solves
Smartcore is a comprehensive machine learning library for the Rust programming language. It provides a fast, ergonomic, and production-ready set of tools for performing classical supervised and unsupervised learning, filling the gap for a high-performance ML framework in the Rust ecosystem.
How it works
The library uses a modular linear algebra abstraction and optional ndarray support to handle data operations. It is designed with a "WASM-first" approach, ensuring portability across browsers and embedded systems. The API is structured around consistent traits, allowing users to fit models and make predictions using a unified interface across different algorithms.
Who it’s for
It is intended for Rust developers who need to implement machine learning models in production environments or for researchers who want to experiment with ML algorithms using a strongly-typed, high-performance language.
Highlights
- Broad Algorithm Coverage: Includes linear models (OLS, Ridge, Lasso), tree-based methods (Random Forest, Extra Trees), SVMs, K-Nearest Neighbors, Naive Bayes, and clustering (K-Means, DBSCAN).
- WASM/WASI Support: Optimized for portability and browser-based deployments by default.
- Integrated Utilities: Built-in CSV readers, dataset generators (blobs, circles, moons), and sample datasets (digits, diabetes, breast cancer).
- Crate Ecosystem: Optional integration with
serdefor serialization andndarrayfor array-first workflows.
Related
- Project
- Project
- Project
- Project
- Project