如果我使用scikit-learn库中的GridSearchCV来找到最佳模型,它会返回什么样的最终模型呢?也就是说,对于每组超参数,我们会训练CV数量(比如3)的模型。这样,函数会在这些3个模型中返回最佳参数设置下的最佳模型吗?
GridSearchCV
会返回一个包含丰富信息的对象。它会返回在留出数据上表现最好的模型:
请注意,这不是在整个数据集上训练的模型。这意味着,一旦您确定这是您想要的模型,您需要自己重新在整个数据集上训练该模型。best_estimator_:估计器或字典
通过搜索选择的估计器,即在留出数据上得分最高(如果指定了最小损失,则为损失最小)的估计器。 如果 refit=False,则不可用。
这是在sklearn中给出的:
“重新配合的估算器可在best_estimator_属性中使用,可以直接在此GridSearchCV实例上使用predict。”
所以,您无需再次拟合模型。您可以直接从best_estimator_属性中获取最佳模型。
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