Package smile.feature.transform
Class WinsorScaler
java.lang.Object
smile.feature.transform.WinsorScaler
Scales all numeric variables into the range [0, 1].
If the dataset has outliers, normalization will certainly scale
the "normal" data to a very small interval. In this case, the
Winsorization procedure should be applied: values greater than the
specified upper limit are replaced with the upper limit, and those
below the lower limit are replaced with the lower limit. Often, the
specified range is indicate in terms of percentiles of the original
distribution (like the 5th and 95th percentile).
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic InvertibleColumnTransform
Fits the data transformation with 5% lower limit and 95% upper limit.static InvertibleColumnTransform
Fits the data transformation.
-
Constructor Details
-
WinsorScaler
public WinsorScaler()
-
-
Method Details
-
fit
Fits the data transformation with 5% lower limit and 95% upper limit.- Parameters:
data
- the training data.- Returns:
- the transform.
-
fit
public static InvertibleColumnTransform fit(DataFrame data, double lower, double upper, String... columns) Fits the data transformation.- Parameters:
data
- the training data.lower
- the lower limit in terms of percentiles of the original distribution (e.g. 5th percentile).upper
- the upper limit in terms of percentiles of the original distribution (e.g. 95th percentile).columns
- the columns to transform. If empty, transform all the numeric columns.- Returns:
- the transform.
-