我正在使用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将它扩展到多个这样的可能性。
答案 0 :(得分:0)
您应该能够使用How to use CrossValidator to choose between different models中的自定义估算工具相互评估这些模型。