10 releases (5 breaking)

0.7.1 Jan 14, 2025
0.7.0 Oct 16, 2023
0.6.1 Dec 3, 2022
0.6.0 Jun 15, 2022
0.2.1 Nov 29, 2020

#1364 in Machine learning

Download history 472/week @ 2024-12-04 427/week @ 2024-12-11 314/week @ 2024-12-18 12/week @ 2024-12-25 150/week @ 2025-01-01 485/week @ 2025-01-08 681/week @ 2025-01-15 663/week @ 2025-01-22 743/week @ 2025-01-29 730/week @ 2025-02-05 614/week @ 2025-02-12 785/week @ 2025-02-19 681/week @ 2025-02-26 559/week @ 2025-03-05 548/week @ 2025-03-12 630/week @ 2025-03-19

2,577 downloads per month
Used in linfa-tsne

MIT/Apache

315KB
5.5K SLoC

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.

Dependencies

~5–15MB
~227K SLoC