Class WinsorScaler

java.lang.Object
smile.feature.transform.WinsorScaler

public class WinsorScaler extends Object
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 Details

    • WinsorScaler

      public WinsorScaler()
  • Method Details

    • fit

      public static InvertibleColumnTransform fit(DataFrame data)
      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.