GridSearchCV 未在 colab 中获取 mean_test_score
GridSearchCV not fetching mean_test_score in colab
我 运行 randomForestClassifier
在 colab 中使用 GridSearchCV
。
然而,myGridSearchCV
没有 return mean_test_score 并且表明它不存在。
当我尝试检查 clf.cv
results 时,mean_test_score.This 在 Jupyter notebook 中不工作,在 Colab 中不工作,我最近遇到了这个问题。
[Parallel(n_jobs=1)]: Done 120 out of 120 | elapsed: 25.3min finished
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-128-1d8f6c95affb> in <module>()
7 clf.fit(X_tr, y_train)
8
----> 9 train_auc= clf.cv_results_['mean_train_score']
10 cv_auc = clf.cv_results_['mean_test_score']
KeyError: 'mean_train_score'
实际上您遇到了 mean_train_score
键错误。只需在 gridsearchcv 参数中设置 return_train_score=True
即可完成工作。
mean_train_score is missing you can cross verify this using
scores = rf.cv_results_
pd.DataFrame(scores).head()
rf is your gridsearchcv
you will be getting error something like below
KeyError: 'mean_train_score'
solution
set return_train_score=True in gridsearchcv
rf = GridSearchCV(rf, parameters, cv=n_folds,
scoring="accuracy",return_train_score=True)
可能值得注意的是,如果您使用多个计分器,即使您在网格搜索中设置了 return_train_score=True
,您仍然可能会收到 mean_train_score
的错误。这就是原因。如果您 运行 GridSearchCV
有多个得分手(例如,您将参数传递给 scoring= {'Accuracy': 'accuracy', 'F1': 'f1_macro', 'AUC': 'roc_auc'}
中的网格搜索),那么您可以预期 mean_train_score
变量名称将取决于关于您将 refit
设置为什么。例如,如果您设置了 refit='AUC'
,则相应的变量名称将是 mean_train_AUC
,其他名称也将相应地更改。 scikit-learn
中记录了这些非常细微的变化,但检测和处理起来可能会很痛苦。
我 运行 randomForestClassifier
在 colab 中使用 GridSearchCV
。
然而,myGridSearchCV
没有 return mean_test_score 并且表明它不存在。
当我尝试检查 clf.cv
results 时,mean_test_score.This 在 Jupyter notebook 中不工作,在 Colab 中不工作,我最近遇到了这个问题。
[Parallel(n_jobs=1)]: Done 120 out of 120 | elapsed: 25.3min finished
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-128-1d8f6c95affb> in <module>()
7 clf.fit(X_tr, y_train)
8
----> 9 train_auc= clf.cv_results_['mean_train_score']
10 cv_auc = clf.cv_results_['mean_test_score']
KeyError: 'mean_train_score'
实际上您遇到了 mean_train_score
键错误。只需在 gridsearchcv 参数中设置 return_train_score=True
即可完成工作。
mean_train_score is missing you can cross verify this using
scores = rf.cv_results_
pd.DataFrame(scores).head()
rf is your gridsearchcv
you will be getting error something like below
KeyError: 'mean_train_score'
solution
set return_train_score=True in gridsearchcv
rf = GridSearchCV(rf, parameters, cv=n_folds, scoring="accuracy",return_train_score=True)
可能值得注意的是,如果您使用多个计分器,即使您在网格搜索中设置了 return_train_score=True
,您仍然可能会收到 mean_train_score
的错误。这就是原因。如果您 运行 GridSearchCV
有多个得分手(例如,您将参数传递给 scoring= {'Accuracy': 'accuracy', 'F1': 'f1_macro', 'AUC': 'roc_auc'}
中的网格搜索),那么您可以预期 mean_train_score
变量名称将取决于关于您将 refit
设置为什么。例如,如果您设置了 refit='AUC'
,则相应的变量名称将是 mean_train_AUC
,其他名称也将相应地更改。 scikit-learn
中记录了这些非常细微的变化,但检测和处理起来可能会很痛苦。