rusty-machine
Library Archived
A machine learning library.
- Downloads
- 2,281
- Dependents
- 5
- Stars
- 1,264
- Forks
- 150
- Contributors
- 20
- Commits
- 532
- Latest release
- 0.5.4 ·
Why Archived
GitHub reports the repository as archived.
Check notes
- the repo manifest Cargo.toml declares the crate, and no release commit proves the link
Exact rules: Instant archive. The check on applied thresholds version 9.
Every rule outcome, as the check records it
instant-archive: repository is archived
About
This library is no longer actively maintained.
The crate is currently on version 0.5.4.
Read the API Documentation to learn more.
And here is a document detailing development efforts. Including a projected timeline for immediate features. Please feel free to give feedback and let me know if there any features you believe should take precedence.
Summary
Rusty-machine is a general purpose machine learning library implemented entirely in Rust. It aims to combine speed and ease of use - without requiring a huge number of external dependencies.
This project began as a way for me to learn Rust and brush up on some less familiar machine learning algorithms and techniques. Now the project aims to provide a complete, easy to use, machine learning library for Rust.
This library is still very much in early stages of development. Although there are a good number of algorithms many other things are missing. Rusty-machine is probably not the best choice for any serious projects - but hopefully that can change in the near future!
Contributing
This project is currently looking for contributors of all capacities!
Read the full README
I have now created a dedicated page for contributing. If you're interested please take a look.
Implementation
This project is implemented using Rust. Currently there are no other dependencies! Though, we are planning on introducing optional BLAS/LAPACK dependencies soon.
Current Progress
Rusty-machine uses rulinalg for its linear algebra back end. This is fairly complete but there is still lots of room for optimization and we should provide BLAS/LAPACK support.
Machine Learning
- Linear Regression
- Logistic Regression
- Generalized Linear Models
- K-Means Clustering
- Neural Networks
- Gaussian Process Regression
- Support Vector Machines
- Gaussian Mixture Models
- Naive Bayes Classifiers
- DBSCAN
- k-Nearest Neighbor Classifiers
- Principal Component Analysis
There is also a basic stats module behind a feature flag.
Usage
The library usage is described well in the API documentation - including example code. I will provide a brief overview of the library in it's current state and intended usage.
Installation
The library is most easily used with cargo. Simply include the following in your Cargo.toml file:
[dependencies]
rusty-machine="0.5.4"
And then import the library using:
extern crate rusty_machine as rm;
The library consists of two core components. The linear algebra module and the learning module.
Linalg
The linear algebra module contains reexports from the rulinalg crate. This is to provide easy access to components which are used frequently within rusty-machine.
More detailed coverage can be found in the API documentation.
Learning
The learning module contains machine learning models. The machine learning implementations are designed with simpicity and customization in mind. This means you can control the optimization algorithms but still retain the ease of using default values. This is an area I am actively trying to improve on!
The models all provide predict and train methods enforced by the SupModel and UnSupModel traits.
There are some examples within this repository that can help you familiarize yourself with the library.
Compatibility
- Runs on
- GPU support unknown
What shows it
- no dependency or feature matches a backend row
- Native code
- None found
- No native code found
- Python bindings
- No Python binding crate found
- License
- MIT
Compare with similar projects
Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.
| Project | Downloads | Dependents | Stars | Latest release | Runs on (GPU) | Native code | License |
|---|---|---|---|---|---|---|---|
|
A machine learning library. |
2,281 downloads over 30 days | 5 | 1,264 | 0.5.4 | GPU support unknown | No native code found | MIT |
|
linfa Featured
A Machine Learning framework for Rust |
177,963 downloads over 30 days | 60 | 4,770 | 0.8.1 | GPU support unknown | Binds native code: lapack-sys (feature intel-mkl-static) | Apache-2.0 OR MIT |
|
smartcore Featured
Machine Learning in Rust. |
39,473 downloads over 30 days | 33 | 976 | 0.7.0 | GPU support unknown | No native code found | Apache-2.0 |
|
A machine learning package for Rust. |
578 downloads over 30 days | 2 | 647 | 0.5.0 | GPU support unknown | Binds native code: libsvm | Apache-2.0 |
|
rust-automl Listed
Automated machine learning for classification and regression |
170 downloads over 30 days | 1 | 39 | 0.3.1 | GPU support unknown | No native code found | Apache-2.0 OR MIT |
|
Machine learning using XGBoost |
112 downloads over 30 days | 1 | 122 | 0.1.4 | GPU support unknown | Binds native code: xgboost, xgboost-sys. Build uses a native toolchain: bindgen | MIT |
|
treeboost Listed
Gradient-boosted decision trees for tabular data: trains a baseline model in one call, with full control over boosting modes and configs, and Scalar, AVX-512, SVE2, WGPU and CUDA backends. Python bindings |
18 downloads over 30 days | 0 | 9 | 0.1.2 | CUDA, WebGPU | No native code found | Apache-2.0 |
Measurements and sources
Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.
Sources6 sources
- Description: the crates.io description
- crates.io database dump, fetched
- RustSec advisory database, fetched
- GitHub repository, fetched
- repo manifest, fetched
- GitHub contributors, fetched
Adoption1 active dependents, 0 new dependents in 365 days1 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Active dependents | 1 | crates.io database dump | Yes | |
| New dependents (365 days) | 0 | crates.io database dump | Yes | |
| Peak active dependents | 4 | crates.io database dump | Yes | |
| Active dependents as a share of the peak | 0.95 | crates.io database dump | Yes | |
| Binary downloads per release | Not measured | Yes |
MaintenanceLatest human commit: 6 years ago3 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Latest human commit | 2020-02-14 | GitHub repository | Yes | |
| Latest release | 2017-01-06 | crates.io database dump | Yes | |
| First release | 2015-12-09 | crates.io database dump | Yes | |
| Latest version | 0.5.4 | crates.io database dump | Yes | |
| Days the oldest outside issue waits for a reply | 3286 | GitHub repository | Yes | |
| Maintainer replies over 365 days | 0 | GitHub repository | Yes | |
| Repository archived | true | GitHub repository | Yes | |
| Repository gone | false | GitHub repository | Yes | |
| Release commit or manifest in the repo | true | repo manifest | Yes | |
| Published docs | true | crates.io database dump | Yes | |
| Latest release fails cargo check | Not measured | Yes | ||
| Build check date | Not measured | Yes | ||
| Build check toolchain | Not measured | Yes |
SecurityUnpatched vulnerabilities: none
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Unpatched vulnerabilities past the grace window | none | RustSec advisory database | Yes | |
| RustSec unmaintained advisory | none | RustSec advisory database | Yes | |
| Deprecation notice | none | crates.io database dump | Yes | |
| Deprecated requirement | rulinalg (RUSTSEC-2020-0147, https://rustsec.org/advisories/RUSTSEC-2020-0147.html) | crates.io database dump | Yes |
Distribution40 releases, 2,281 downloads over 30 days5 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Releases | 40 | crates.io database dump | Yes | |
| Downloads over 30 days | 2281 | crates.io database dump | Yes | |
| Binary downloads over the last 3 releases | Not measured | Yes | ||
| Homebrew installs on request over 365 days | Not measured | Yes | ||
| Repology repository families | Not measured | Yes | ||
| Docker pull growth over 90 days | Not measured | Yes | ||
| Docker pulls at the growth baseline | Not measured | Yes | ||
| Every version a prerelease | false | crates.io database dump | Yes | |
| Every version 0.0.x | false | crates.io database dump | Yes | |
| Every version yanked | false | crates.io database dump | Yes | |
| Crate deleted from crates.io | false | crates.io database dump | Yes |
Repository1,264 stars, 150 forks, 20 contributors, 532 commits. Stars alone never qualify a project.
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| GitHub stars | 1264 | GitHub repository | Yes — one part of the repository route | |
| GitHub forks | 150 | GitHub repository | Yes — one part of the repository route | |
| Contributors with a GitHub account | 20 | GitHub contributors | Yes — one part of the repository route | |
| Commits on the default branch | 532 | GitHub repository | No | |
| Repository's main crate left out of the entry | none | crates.io database dump | Yes |
Facts that never count
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| License | MIT | crates.io database dump | No | |
| Runs on, from listed crates and their direct dependencies | GPU support unknown | crates.io database dump | No | |
| What shows each backend | no dependency or feature matches a backend row | crates.io database dump | No | |
| Native code, from listed crates and their dependencies | No native code found | crates.io database dump | No | |
| Python bindings, from direct dependencies of listed crates | No Python binding crate found | crates.io database dump | No | |
| Crates that depend on a listed crate directly | 5 | crates.io database dump | No |
Corrections and review history
No correction applies to this entry.
Judgments
A judgment enters only through an approved issue and a merged pull request.
No judgment applies to this entry.