grid.cv_results_中的mean_validation_score对应的功能是什么?

时间:2019-01-21 19:10:15

标签: 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?

  • mean_train_score
  • mean_test_score

1 个答案:

答案 0 :(得分:1)

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

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)。