Crate linfa_reduction

Source
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§

DiffusionMap
Embedding of diffusion map technique
DiffusionMapParams
Diffusion map hyperparameters
DiffusionMapValidParams
Diffusion map hyperparameters
Pca
Fitted Principal Component Analysis model
PcaParams
Pincipal Component Analysis parameters

Enums§

ReductionError

Type Aliases§

Result