Expand description
§Dimensional Reduction
linfa-reduction
aims to provide pure Rust implementations of dimensional reduction algorithms.
§The Big Picture
linfa-reduction
is a crate in the linfa
ecosystem, an effort to create a toolkit for classical Machine Learning implemented in pure Rust, akin to Python’s scikit-learn
.
§Current state
linfa-reduction
currently provides an implementation of the following dimensional reduction methods:
- Diffusion Mapping
- Principal Component Analysis (PCA)
- Gaussian random projections
- Sparse random projections
§Examples
There is an usage example in the examples/
directory. To run, use:
$ cargo run --release --example diffusion_map
$ cargo run --release --example pca
$ cargo run --release --example gaussian_projection
$ cargo run --release --example sparse_projection
§BLAS/LAPACK backend
See this section to enable an external BLAS/LAPACK backend.
§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.
Modules§
- random_
projection - Random Projections
- utils
Structs§
- Diffusion
Map - Embedding of diffusion map technique
- Diffusion
MapParams - Diffusion map hyperparameters
- Diffusion
MapValid Params - Diffusion map hyperparameters
- Pca
- Fitted Principal Component Analysis model
- PcaParams
- Pincipal Component Analysis parameters