在Spark 2.2.1中加载CrossValidator模型

时间:2019-03-19 22:11:21

标签: pyspark cross-validation apache-spark-ml

我有Spark版本2.2.1(群集)和Spark 2.4(我的笔记本电脑)。我可以在集群和笔记本电脑中训练并保存CrossValidator模型。但是,当我尝试将其重新加载时,在Spark 2.4中,CrossValidatorModel.load可以工作,但在Spark 2.2.1中,CrossValidatorModel没有加载方法。如何加载?示例代码如下:数据来自Spark With statement

training = spark.read.format("libsvm").load("sample_multiclass_classification_data.txt")
logreg = LogisticRegression(maxIter = 200)
paramGrid_logreg = ParamGridBuilder().addGrid(logreg.regParam, np.linspace(0.0, 1, 11))\
                                     .addGrid(logreg.elasticNetParam, np.linspace(0, 1, 11)).build()
crossval_logreg = CrossValidator(estimator = logreg, 
                                  estimatorParamMaps = paramGrid_logreg, 
                                  evaluator = BinaryClassificationEvaluator(), numFolds = 10) 
cvModel_logreg = crossval_logreg.fit(training)
cvModel_logreg.save("cvModel_logreg_numFolds10")

现在,在spark 2.4中,我可以使用以下命令加载它:

CrossValidatorModel.load('cvModel_logreg_numFolds10')

但是在Spark 2.2中,CrossValidatorModel确实具有load方法。有办法阅读吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,我认为你不能。我也遇到了同样的问题,最后我切换到包含加载功能的spark 2.3。