我仍在使用Spark 1.6,并培训了一个StandardScalar,我希望在未来的数据集中保存和重用。
使用the supplied examples我可以成功转换数据,但我找不到保存经过培训的规范化工具的方法。
有没有办法可以保存训练有素的规范器?
答案 0 :(得分:2)
假设您已创建scalerModel
:
import org.apache.spark.ml.feature.StandardScalerModel
scalerModel.write.save("path/folder/")
val scalerModel = StandardScalerModel.load("path/folder/")
答案 1 :(得分:0)
StandardScalerModel 类具有 save 方法。在 StandardScaler 上调用 fit 方法后,返回的对象是 StandardScalerModel :API Docs
e.g。类似于提供的示例:
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")