保存Spark StandardScaler以供以后在Scala中使用



我仍然在使用Spark 1.6,并训练了一个StandardScalar,我想保存并在未来的数据集中重用。

使用提供的示例,我可以成功地转换数据,但我找不到保存训练过的归一化器的方法。

是否有任何方法可以保存训练的归一化器?

假设您已经创建了scalerModel:

import org.apache.spark.ml.feature.StandardScalerModel
scalerModel.write.save("path/folder/")
val scalerModel = StandardScalerModel.load("path/folder/")

StandardScalerModel类有一个save方法。在StandardScaler上调用fit方法后,返回的对象是StandardScalerModel: API Docs

。类似于所提供的示例:

import org.apache.spark.ml.feature.StandardScaler
import org.apache.spark.ml.PipelineModel
val dataFrame = spark.read.format("libsvm").load("data/mllib/sample_libsvm_data.txt")
val scaler = new StandardScaler()
  .setInputCol("features")
  .setOutputCol("scaledFeatures")
  .setWithStd(true)
  .setWithMean(false)
// Compute summary statistics by fitting the StandardScaler.
val scalerModel = scaler.fit(dataFrame)
scalerModel.write.overwrite().save("/path/to/the/file")
val sameModel = PipelineModel.load("/path/to/the/file")

最新更新