如果 GridSearchCV 给出了几个等级为 1 的估计器,它会选择哪个作为最佳估计器?

If GridSearchCV gives a few estimators with rank 1, which one will it pick as the best estimator?

使用 Scikit-learn 的 GridSearchCV,如果 GridSearchCV 给出了几个等级为 1 的估计器,它会选择哪个作为最佳估计器best_estimator_?它会选择 cv_results_ 中出现的列表中的第一个估算器吗?

除非我要瞎了,否则我似乎无法在此处的文档中找到它:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html

非常感谢。

是的,它(当前)选择 cv_results_ 中的第一个。如果出现平局,则从 the source, it just takes argmin, which according to the numpy docs 中选择第一个索引。

(似乎没有任何理由喜欢它,所以它似乎相对有可能改变。特别是,使用最低标准偏差或火车分数或时间或......实施决胜局似乎值得.)

作为快速实验,使用无意义的(性能)超参数:

search = GridSearchCV(estimator=LogisticRegression(),
                      param_grid={'verbose': [0, 1, 2]})
search.fit(X, y)
print(search.cv_results_, search.best_params_)