首页 > 解决方案 > grid.cv_results_中mean_validation_score对应的函数是什么?

问题描述

在旧版本的 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_对应于我们从中得到的 mean_validaton_score grid.grid_scores_

标签: machine-learningscikit-learngrid-search

解决方案


根据 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-foldmean_test_score中获得的平均分数,是您从验证折叠(out-of-fold)中获得的平均分数。

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


推荐阅读