minmax_scaling/
minmax_scaling.rs1use matten::Tensor;
6
7fn main() {
8 let data = Tensor::new(
9 vec![1.0, 10.0, 100.0, 2.0, 20.0, 200.0, 3.0, 30.0, 300.0],
10 &[3, 3],
11 );
12
13 let col_min = data.min_axis(0);
15 let col_max = data.max_axis(0);
16 let range = &col_max - &col_min;
17
18 let scaled = &(&data - &col_min) / ⦥
20
21 println!("col_min = {:?}", col_min.as_slice());
22 println!("col_max = {:?}", col_max.as_slice());
23 println!("scaled shape = {:?}", scaled.shape());
24
25 let row0 = scaled.slice().index(0).all().build().unwrap();
27 let row2 = scaled.slice().index(2).all().build().unwrap();
28 assert!(row0.as_slice().iter().all(|&v| (v - 0.0).abs() < 1e-10));
29 assert!(row2.as_slice().iter().all(|&v| (v - 1.0).abs() < 1e-10));
30 println!("Min-max scaling: OK");
31}