【发布时间】:2017-10-30 02:53:26
【问题描述】:
我正在尝试在 pyspark 中对 SGD 模型执行交叉验证,我正在使用来自 pyspark.mllib.regression 的 LinearRegressionWithSGD 、 ParamGridBuilder 和 CrossValidator 两者都来自 pyspark.ml.tuning 库。
在从 Spark 网站关注 documentation 之后,我希望运行它会起作用
lr = LinearRegressionWithSGD()
pipeline=Pipeline(stages=[lr])
paramGrid = ParamGridBuilder()\
.addGrid(lr.stepSize, Array(0.1, 0.01))\
.build()
crossval = CrossValidator(estimator=pipeline,estimatorParamMaps= paramGrid,
evaluator=RegressionEvaluator(),
numFolds=10)
但是LinearRegressionWithSGD() 没有stepSize 的属性(尝试过其他人也没有运气)。
我可以将 lr 设置为 LinearRegression,但我无法将 SGD 用于我的模型并进行交叉验证。
scala 中有 kFold 方法,但我不知道如何从 pyspark 访问它
【问题讨论】:
标签: python apache-spark pyspark apache-spark-ml