linfa 0.8.1

A Machine Learning framework for Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
+++
title = "Gaussian Random Projection"
+++
```rust
// Assume we get some training data like MNIST: 60000 samples of 28*28 images (ie dim 784)
let dataset = Dataset::from(Array::<f64, _>::random((60000, 28 * 28), Standard));

// We can work in a reduced dimension using a Gaussian Random Projection
let reduced_dim = 100;
let proj = GaussianRandomProjection::<f32>::params()
    .target_dim(reduced_dim)
    .fit(&dataset)?;
let reduced_ds = proj.transform(&dataset);

println!("New dataset shape: {:?}", reduced_ds.records().shape());
// -> New dataset shape: [60000, 100]
```