Class MinMaxScaler

All Implemented Interfaces:
Serializable, org.apache.spark.internal.Logging, MinMaxScalerParams, Params, HasInputCol, HasOutputCol, DefaultParamsWritable, Identifiable, MLWritable, scala.Serializable

public class MinMaxScaler extends Estimator<MinMaxScalerModel> implements MinMaxScalerParams, DefaultParamsWritable
Rescale each feature individually to a common range [min, max] linearly using column summary statistics, which is also known as min-max normalization or Rescaling. The rescaled value for feature E is calculated as:

$$ Rescaled(e_i) = \frac{e_i - E_{min}}{E_{max} - E_{min}} * (max - min) + min $$

For the case \(E_{max} == E_{min}\), \(Rescaled(e_i) = 0.5 * (max + min)\).

See Also:
Note:
Since zero values will probably be transformed to non-zero values, output of the transformer will be DenseVector even for sparse input.
  • Constructor Details

    • MinMaxScaler

      public MinMaxScaler(String uid)
    • MinMaxScaler

      public MinMaxScaler()
  • Method Details

    • load

      public static MinMaxScaler load(String path)
    • read

      public static MLReader<T> read()
    • min

      public DoubleParam min()
      Description copied from interface: MinMaxScalerParams
      lower bound after transformation, shared by all features Default: 0.0
      Specified by:
      min in interface MinMaxScalerParams
      Returns:
      (undocumented)
    • max

      public DoubleParam max()
      Description copied from interface: MinMaxScalerParams
      upper bound after transformation, shared by all features Default: 1.0
      Specified by:
      max in interface MinMaxScalerParams
      Returns:
      (undocumented)
    • outputCol

      public final Param<String> outputCol()
      Description copied from interface: HasOutputCol
      Param for output column name.
      Specified by:
      outputCol in interface HasOutputCol
      Returns:
      (undocumented)
    • inputCol

      public final Param<String> inputCol()
      Description copied from interface: HasInputCol
      Param for input column name.
      Specified by:
      inputCol in interface HasInputCol
      Returns:
      (undocumented)
    • uid

      public String uid()
      Description copied from interface: Identifiable
      An immutable unique ID for the object and its derivatives.
      Specified by:
      uid in interface Identifiable
      Returns:
      (undocumented)
    • setInputCol

      public MinMaxScaler setInputCol(String value)
    • setOutputCol

      public MinMaxScaler setOutputCol(String value)
    • setMin

      public MinMaxScaler setMin(double value)
    • setMax

      public MinMaxScaler setMax(double value)
    • fit

      public MinMaxScalerModel fit(Dataset<?> dataset)
      Description copied from class: Estimator
      Fits a model to the input data.
      Specified by:
      fit in class Estimator<MinMaxScalerModel>
      Parameters:
      dataset - (undocumented)
      Returns:
      (undocumented)
    • transformSchema

      public StructType transformSchema(StructType schema)
      Description copied from class: PipelineStage
      Check transform validity and derive the output schema from the input schema.

      We check validity for interactions between parameters during transformSchema and raise an exception if any parameter value is invalid. Parameter value checks which do not depend on other parameters are handled by Param.validate().

      Typical implementation should first conduct verification on schema change and parameter validity, including complex parameter interaction checks.

      Specified by:
      transformSchema in class PipelineStage
      Parameters:
      schema - (undocumented)
      Returns:
      (undocumented)
    • copy

      public MinMaxScaler copy(ParamMap extra)
      Description copied from interface: Params
      Creates a copy of this instance with the same UID and some extra params. Subclasses should implement this method and set the return type properly. See defaultCopy().
      Specified by:
      copy in interface Params
      Specified by:
      copy in class Estimator<MinMaxScalerModel>
      Parameters:
      extra - (undocumented)
      Returns:
      (undocumented)