我在Scala中使用Spark。我想对我的数据做不同的预处理。有没有办法让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将它扩展到多个这样的可能性。
发布于 2018-02-28 20:25:14
您应该能够使用像How to use CrossValidator to choose between different models中那样的自定义估计器来评估这些模型。
https://stackoverflow.com/questions/44996632
复制相似问题