选择最佳超参数组合后,SparkML CrossValidator 是否会重新拟合完整的训练数据集?

时间:2021-03-23 03:07:56

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

在训练数据集上交叉验证超参数网格后,SparkML 的 CrossValidator 是否重新适合整个训练数据集?如果不是,它从交叉验证的哪个部分选择用于推理的 bestModel

拟合的 CrossValidator 使 .transform() 方法可用。为此,CrossValidator 是否使用最佳超参数在整个训练/交叉验证数据集上重新训练并使用重新拟合的模型进行推理?

或者是用于从所有交叉验证折叠中推断最佳性能模型的 bestModel(即,来自性能最佳超参数组合的最佳折叠的模型,仅针对该折叠的数据进行训练)?

我之所以这么问是因为 SparkML CrossValidatorscikit-learnGridSearchCV 表面上有相似之处。如果您将参数 refit=True 传递给 GridSearchCV,它将使用参数网格中的最佳超参数重新拟合整个训练数据集。然后使用在整个训练集上训练的重新拟合模型通过 .predict() 方法进行公开。

我已通读the Python docsthe Scala docsthe examples showing hyperparameter tuning and cross-validation。我找不到对此的任何具体参考。

在示例中,有这样的评论:# Make predictions on test documents. cvModel uses the best model found (lrModel). 但是从那以后,它是否是最佳超参数组合中的最佳折叠尚不清楚,或者如果它重新适合,则是 la scikit-learn。

0 个答案:

没有答案