rust-ml/linfa
rust-ml/linfa has 4,771 GitHub stars and 332 forks. GitHot measured +1 stars in 24 hours and +3 in 7 days. Last checked 2026-11-07 15:44 UTC. Last push 2026-08-22.
Rust 머신러닝 프레임워크.
측정된 스타 증가
- in 24h
- +1
- in 7 days
- +3
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
OriginalLinfa
linfa (Italian) / sap (English):
The vital circulating fluid of a plant.
linfa aims to provide a comprehensive toolkit to build Machine Learning applications with Rust.
Kin in spirit to Python's scikit-learn, it focuses on common preprocessing tasks and classical ML algorithms for your everyday ML tasks.
Current state
Where does linfa stand right now? Are we learning yet?
linfa currently provides sub-packages with the following algorithms:
| Name | Purpose | Status | Category | Notes |
|---|---|---|---|---|
| bayes | Naive Bayes | Tested | Supervised learning | Contains Bernouilli, Gaussian and Multinomial Naive Bayes |
| clustering | Data clustering | Tested / Benchmarked | Unsupervised learning | Clustering of unlabeled data; contains K-Means, Gaussian-Mixture-Model, DBSCAN and OPTICS |
| ensemble | Ensemble methods | Tested | Supervised learning | Contains bagging, random forest and AdaBoost |
| elasticnet | Elastic Net | Tested | Supervised learning | Linear regression with elastic net constraints |
| ftrl | Follow The Regularized Leader - proximal | Tested / Benchmarked | Partial fit | Contains L1 and L2 regularization. Possible incremental update |
| hierarchical | Agglomerative hierarchical clustering | Tested | Unsupervised learning | Cluster and build hierarchy of clusters |
| ica | Independent component analysis | Tested | Unsupervised learning | Contains FastICA implementation |
| kernel | Kernel methods for data transformation | Tested | Pre-processing | Maps feature vector into higher-dimensional space |
| lars | Linear regression | Tested | Supervised learning | Contains Least Angle Regression (LARS) |
| linear | Linear regression | Tested | Supervised learning | Contains Ordinary Least Squares (OLS), Generalized Linear Models (GLM) |
| logistic | Logistic regression | Tested | Partial fit | Builds two-class logistic regression models |
| nn | Nearest Neighbours & Distances | Tested / Benchmarked | Pre-processing | Spatial index structures and distance functions |
| pls | Partial Least Squares | Tested | Supervised learning | Contains PLS estimators for dimensionality reduction and regression |
| preprocessing | Normalization & Vectorization | Tested / Benchmarked | Pre-processing | Contains data normalization/whitening and count vectorization/tf-idf |
| reduction | Dimensionality reduction | Tested | Pre-processing | Diffusion mapping, Principal Component Analysis (PCA), Random projections |
| svm | Support Vector Machines | Tested | Supervised learning | Classification or regression analysis of labeled datasets |
| trees | Decision trees | Tested / Benchmarked | Supervised learning | Linear decision trees |
| tsne | Dimensionality reduction | Tested | Unsupervised learning | Contains exact solution and Barnes-Hut approximation t-SNE |
We believe that only a significant community effort can nurture, build, and sustain a machine learning ecosystem in Rust - there is no other way forward.
If this strikes a chord with you, please take a look at the roadmap and get involved!
Browser WASM
For browser-style WASM on wasm32-unknown-unknown, enable linfa's wasm-bindgen feature.
BLAS/Lapack backend
Some algorithm crates need to use an external library for linear algebra routines. By default, we use a pure-Rust implementation. However, you can also choose an external BLAS/LAPACK backend library instead, by enabling the blas feature and a feature corresponding to your BLAS backend. Currently you can choose between the following BLAS/LAPACK backends: openblas, netblas or intel-mkl.
| Backend | Linux | Windows | macOS |
|---|---|---|---|
| OpenBLAS | ✔️ | - | - |
| Netlib | ✔️ | - | - |
| Intel MKL | ✔️ | ✔️ | ✔️ |
Each BLAS backend has two features available. The feature allows you to choose between linking the BLAS library in your system or statically building the library. For example, the features for the intel-mkl backend are intel-mkl-static and intel-mkl-system.
An example set of Cargo flags for enabling the Intel MKL backend on an algorithm crate is --features blas,linfa/intel-mkl-system. Note that the BLAS backend features are defined on the linfa crate, and should only be specified for the final executable.
License
Dual-licensed to be compatible with the Rust project.
Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.
관련 프로젝트 살펴보기
tensorflow/tensorflow
모두를 위한 오픈소스 머신러닝 프레임워크
201,367 스타huggingface/transformers
🤗 Transformers: 텍스트, 비전, 오디오, 멀티모달 분야의 최첨단 머신러닝 모델을 위한 모델 정의 프레임워크로, 추론과 학습을 모두 지원합니다.
168,609 스타AUTOMATIC1111/stable-diffusion-webui
Stable Diffusion 웹 UI
165,245 스타Comfy-Org/ComfyUI
그래프와 노드로 구성된 인터페이스를 갖춘, 가장 강력하고 모듈성이 뛰어난 확산 모델 GUI, API, 백엔드입니다. 세계에서 가장 빠른 로컬 추론 엔진입니다.
145,470 스타