如果有多个具有相同分数的估计器,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.分类报告和准确性不匹配)
如何解决:“FitFailedWarning:估计器拟合失败。这些参数的训练测试分区上的分数将设置为 nan?”
FitFailedWarning:估计器拟合失败。当使用更大的 int 值时,这些参数的训练测试分区上的分数将设置为 nan