使用spark / scala中的不同预处理交叉验证多个模型

问题描述 投票:3回答:1

我正在使用Spark和Scala。我想对我的数据进行不同的预处理。有没有办法使CrossValidator采用多个模型(也使用ParamMaps)从这两个模型中获取最佳模型?例如我想做的是:

val discretizer = new QuantileDiscretizer()
  .setInputCol("column1")
  .setOutputCol("column1disc")
  .setNumbuckets(5)
val normalizer = new Normalizer()
  .setInputCol("column1")
  .setOutputCol("column1norm")

val lr1 = new LinearRegression()
  .setFeaturescol(discretizer.getOutputCol)
  .setMaxIter(10)
val lr2 = new LinearRegression()
  .setFeaturescol(normalizer.getOutputCol)
  .setMaxIter(10)

val pipeline = new Pipeline().setStages(Array(dicretizer,normalizer,lr1,lr2))

现在我希望我的CrossValidator从lr1和lr2中选择最好的两个模型。这只是一个小例子,我想用ParamMaps将它扩展到多个这样的可能性。

scala apache-spark apache-spark-mllib
1个回答
0
投票

您应该能够使用How to use CrossValidator to choose between different models中的自定义估算器相互评估这些模型。

© www.soinside.com 2019 - 2024. All rights reserved.