如果有多个具有相同分数的估计器,GridsearchCV 会选择啥?

Posted

技术标签:

【中文标题】如果有多个具有相同分数的估计器,GridsearchCV 会选择啥?【英文标题】:What will GridsearchCV choose if there are multiple estimators having the same score?如果有多个具有相同分数的估计器,GridsearchCV 会选择什么? 【发布时间】:2019-08-17 23:48:30 【问题描述】:

我在 sklearn 中使用 RandomForestClassifier,并使用 GridsearchCV 获得最佳估算器。

我想知道当 GridsearchCV 中有许多具有相同分数的估计器(从简单到复杂的)时,GridsearchCV 的结果估计器是什么?最简单的?还是随机的?

【问题讨论】:

【参考方案1】:

GridSearchCV 不评估模型的复杂性(尽管这将是一个简洁的功能)。它也不会随机选择最佳模型。

相反,GridSearchCV 只是对存储的错误执行np.argmin()。参见source code中的对应行。

现在,根据NumPy docs,

如果最小值多次出现,则返回与第一次出现对应的索引。

也就是说,GridSearchCV 将始终选择最佳模型中的第一个。

【讨论】:

以上是关于如果有多个具有相同分数的估计器,GridsearchCV 会选择啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何将两个估计器对象传递给 sklearn 的 GridSearchCV,以便它们在每个步骤中具有相同的参数?

具有 PredefinedSplit 评分的 Sklearn GridSearch 与独立分类器不匹配

Logistic回归的多个问题(1.所有CV值具有相同的分数,2.分类报告和准确性不匹配)

sklearn - 具有多个分数的交叉验证

如何解决:“FitFailedWarning:估计器拟合失败。这些参数的训练测试分区上的分数将设置为 nan?”

FitFailedWarning:估计器拟合失败。当使用更大的 int 值时,这些参数的训练测试分区上的分数将设置为 nan