pub fn minmax_scale_columns(x: &Tensor) -> Result<Tensor, MattenMlprepError>Expand description
Scales each column to the [0, 1] range:
out[i,j] = (x[i,j] - min_j) / (max_j - min_j).
ยงErrors
MattenMlprepError::ExpectedMatrixifxis not rank-2.MattenMlprepError::ZeroVarianceif any column is constant (zero range).MattenMlprepError::DynamicTensor(with thedynamicfeature) ifxis dynamic.
use matten::Tensor;
use matten_mlprep::minmax_scale_columns;
// Column 0: [0, 5, 10] -> [0, 0.5, 1].
let x = Tensor::new(vec![0.0, 5.0, 10.0], &[3, 1]);
let s = minmax_scale_columns(&x).unwrap();
assert_eq!(s.as_slice(), &[0.0, 0.5, 1.0]);