最小值缩放器缩放给定的数据集,以便所有值都位于用户指定的范围[min,max]之间。如果用户没有为缩放范围提供特定的最小值和最大值,则MinMax缩放器将根据输入数据集的特征转换为位于[0,1]区间。给定一组输入数据$x_1, x_2,…x_n$,最小值:
最大值:
缩放后的数据集$z_1, z_2,…,z_n$为:
当$\textit{min}$和$\textit{max}$是用户指定的要缩放范围的最小值和最大值。
MinMaxScaler是一个Transformer。因此,它支持拟合和变换操作。
MinMaxScaler针对'Vector'或'LabeledVector'的所有子类型进行训练:
fit[T <: Vector]: DataSet[T] => Unit
fit: DataSet[LabeledVector] => Unit
MinMaxScaler将'Vector'或'LabeledVector'的所有子类型转换为各自的类型:
transform[T <: Vector]: DataSet[T] => DataSet[T]
transform: DataSet[LabeledVector] => DataSet[LabeledVector]
MinMax缩放器的实现受到下面两个参数的控制
参数 | 描述 |
---|---|
Min | 缩放数据集的范围的最小值。 (默认值: 0.0) |
Max | 缩放数据集的范围的最大值。 (默认值: 1.0) |
// Create MinMax scaler transformer val minMaxscaler = MinMaxScaler()
.setMin(-1.0)
// Obtain data set to be scaled val dataSet: DataSet[Vector] = ...
// Learn the minimum and maximum values of the training data minMaxscaler.fit(dataSet)
// Scale the provided data set to have min=-1.0 and max=1.0 val scaledDS = minMaxscaler.transform(dataSet)