MaxAbsScaler

  MaxAbsScaler转换由向量列组成的数据集,将每个特征调整到[-1,1]的范围,它通过每个特征内的最大绝对值来划分。
它不会移动和聚集数据,因此不会破坏任何的稀疏性。

MaxAbsScaler计算数据集上的统计数据,生成MaxAbsScalerModel,然后使用生成的模型分别的转换特征到范围[-1,1]。下面是程序调用的例子。

  1. import org.apache.spark.ml.feature.MaxAbsScaler
  2. val dataFrame = spark.read.format("libsvm").load("data/mllib/sample_libsvm_data.txt")
  3. val scaler = new MaxAbsScaler()
  4. .setInputCol("features")
  5. .setOutputCol("scaledFeatures")
  6. // Compute summary statistics and generate MaxAbsScalerModel
  7. val scalerModel = scaler.fit(dataFrame)
  8. // rescale each feature to range [-1, 1]
  9. val scaledData = scalerModel.transform(dataFrame)
  10. scaledData.show()