sklearn.model_selection GridSearchCV 抛出 KeyError: 'mean_train_score'

Aka*_*ngh 4 machine-learning scikit-learn cross-validation google-colaboratory gridsearchcv

我试图classifierobject.cv_result_GridSearchCV使用 5 折交叉验证的方法中获取平均火车分数,但它*** KeyError: 'mean_train_score'在 Google Colab 中给了我。但是,相同的代码在 0.19.1sklearn版的本地机器 Ipython notebook 中运行良好。谁能帮助我如何在 google colab 中获得输出?

clf.cv_results_.keys() 输出如下 -

对于我的本地笔记本 -

dict_keys(['mean_fit_time', 'std_fit_time', 'mean_score_time', 'std_score_time', 'param_n_neighbors', 'params', 'split0_test_score', 'split1_test_score', 'split2_test_score', 'split3_test_score', 'split4_test_score', 'mean_test_score', 'std_test_score', 'rank_test_score', 'split0_train_score', 'split1_train_score', 'split2_train_score', 'split3_train_score', 'split4_train_score', 'mean_train_score', 'std_train_score'])
Run Code Online (Sandbox Code Playgroud)

在 google colab 笔记本上 -

dict_keys(['mean_fit_time', 'std_fit_time', 'mean_score_time', 'std_score_time', 'param_n_neighbors', 'params', 'split0_test_score', 'split1_test_score', 'split2_test_score', 'split3_test_score', 'split4_test_score', 'mean_test_score', 'std_test_score', 'rank_test_score'])
Run Code Online (Sandbox Code Playgroud)

哪里是mean_train_score在谷歌colab。我错过了什么吗?

from sklearn.model_selection import GridSearchCV

neigh = KNeighborsClassifier(n_jobs=-1)
parameters = {'n_neighbors':[1, 5, 10, 15, 19 , 21, 31, 41, 51]}
clf = GridSearchCV(neigh, parameters, cv=5,\ 
                   scoring='roc_auc',n_jobs=-1) 
clf.fit(x_train, y_train)
train_auc= clf.cv_results_['mean_train_score']
train_auc_std= clf.cv_results_['std_train_score']
cv_auc = clf.cv_results_['mean_test_score'] 
cv_auc_std= clf.cv_results_['std_test_score']

Run Code Online (Sandbox Code Playgroud)

ilj*_*lja 14

尝试设置return_train_score=TrueinsideGridSearchCV()以计算火车分数(默认情况下关闭,请参阅文档)。也许您在sklearn某个本地集合中有某种全局变量。