Preprocessing maxabsscaler - CyrilB1531/lodestar GitHub Wiki
Development build. This page describes
main, not a released package. The latest published Lodestar.Preprocessing is 0.1.0 — read its documentation.
Home › Preprocessing › Feature scaling
MaxAbsScaler
Divides each feature by its largest absolute value.
public sealed class MaxAbsScaler
Properties — FeatureCount and SampleCount are the shape it was fitted on.
MaximumAbsolute is each feature's largest absolute value and Scale is what
Transform divides by — the same numbers, except on a feature the
near-constant floor caught.
Example — two features, one of them negative throughout.
using Lodestar.Preprocessing;
double[] samples = [2.0, -4.0, 1.0, -8.0];
MaxAbsScaler scaler = MaxAbsScaler.Fit(samples, featureCount: 2);
double first = scaler.MaximumAbsolute[0]; // => 2
double second = scaler.Scale[1]; // => 8
double scaled = scaler.Transform(samples)[1]; // => -0.5
Remarks — it never subtracts, so a zero stays a zero. That is the whole reason to prefer it
to StandardScaler on data whose zeros are meaningful: centring turns every
zero into a non-zero, which is why scikit-learn refuses to centre a sparse matrix at all.
The largest absolute value is not the largest value: the second feature above runs from −8 to −4 and is divided by 8.
Applies to — net10.0, netstandard2.0.
See also — MaxAbsScalerOptions, the feature scaling index,
the Python equivalence table.
Members
| Member | What it does |
|---|---|
MaxAbsScaler.Fit |
Fits a scaler on a row-major sample matrix. |
MaxAbsScaler.InverseTransform |
Undoes Transform, and never clips. |
MaxAbsScaler.PartialFit |
Folds another batch into the fitted statistics. |
MaxAbsScaler.Transform |
Divides a matrix by the fitted maxima. |