machine-learning - grid.cv_results_ 中的mean_validation_score对应的函数是什么?

标签 machine-learning scikit-learn grid-search

在旧版本的 scikit-learn 中,我们通过[result.mean_validation_score for result in grid.grid_scores_]获得交叉验证分数的平均值列表。然而从 20.0 scikit-learn 开始,我们不再能够使用grid.grid_scores_。相反,有grid.cv_results_。这是我的问题。 grid.cv_results_ 中的以下哪些方法对应于我们从 grid.grid_scores_ 获取的mean_validaton_score?

  • 平均训练分数
  • 平均测试分数

最佳答案

根据 GridSearchCV 文档 ( https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html ),您必须将 grid.cv_results_ 转换为 Pandas DataFrame,然后您就可以自由访问 mean_train_scoremean_test_score 数据:

import pandas as pd

cv_results = pd.DataFrame(grid.cv_results_)

print(cv_results['mean_train_score'])
print(cv_results['mean_test_score'])

第一个 mean_train_score 是您从训练折叠(in-fold)中获得的平均分数,mean_test_score 是平均值您从验证折叠中获得的分数(折叠外)。

基本上,您只对 mean_test_score 感兴趣,以严格评估超参数的性能,但 mean_train_score 可以帮助您了解模型的拟合程度使用某些参数的数据以及它与测试数据的相关程度(例如通过构建验证曲线图,请参阅:https://scikit-learn.org/stable/modules/learning_curve.html)。

关于machine-learning - grid.cv_results_ 中的mean_validation_score对应的函数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54296405/

相关文章:

machine-learning - 我应该先执行交叉验证然后再进行网格搜索吗?

python - 使用 GridsearchCV () 进行保留验证

tree - MCTS 处理 N 个玩家游戏的对手 Action

python - 如何获取 scikit-learn SVM 分类器的所有 alpha 值?

Scikit-Learn 矢量化器 `max_features`

machine-learning - 随机森林分类器 : feature importance of prediction probability

python - 从 gridsearchCV 内的 RFECV 检索选定的特征

python - 所有中间步骤都应该是变压器并实现拟合和变换

text - 如何创建 4 个类别的文本分类训练数据

python - 观察意义 - OpenAI Gym