网格搜索交叉验证最终模型

5
如果我使用scikit-learn库中的GridSearchCV来找到最佳模型,它会返回什么样的最终模型呢?也就是说,对于每组超参数,我们会训练CV数量(比如3)的模型。这样,函数会在这些3个模型中返回最佳参数设置下的最佳模型吗?
2个回答

7
GridSearchCV 会返回一个包含丰富信息的对象。它会返回在留出数据上表现最好的模型:

best_estimator_:估计器或字典

通过搜索选择的估计器,即在留出数据上得分最高(如果指定了最小损失,则为损失最小)的估计器。 如果 refit=False,则不可用。

请注意,这不是在整个数据集上训练的模型。这意味着,一旦您确定这是您想要的模型,您需要自己重新在整个数据集上训练该模型。
参考资料:http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html

7
请注意,只要不设置 refit=False,您无需重新训练模型。 GridSearchCV 会为您执行此步骤,并像平常一样通过 .predict.score 提供最终的训练模型。详情请参见 https://datascience.stackexchange.com/questions/45810/what-is-gridsearchcv-doing-after-it-finishes-evaluating-the-performance-of-param/45817。 - lunguini

2

这是在sklearn中给出的:

“重新配合的估算器可在best_estimator_属性中使用,可以直接在此GridSearchCV实例上使用predict。”

所以,您无需再次拟合模型。您可以直接从best_estimator_属性中获取最佳模型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接