如果 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_)
使用 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_)