scikit-learn 0.20中获取GridSearchCV最佳得分标准差的最优方法
在scikit-learn 0.20中获取最佳得分标准差的最优方式
嘿,这个问题我太熟悉了!从scikit-learn 0.20版本开始,官方正式移除了旧的grid_scores_属性,转而使用结构更清晰、信息更全面的cv_results_来存储所有交叉验证的结果数据。
要获取最佳得分的标准差,你可以按照以下步骤操作:
- 首先,你依然可以通过
result.best_index_获取最佳参数组合对应的索引值,这个属性的用法和之前完全一致。 - 然后,
cv_results_是一个字典类型的属性,其中std_test_score键对应的是一个数组,数组里的每个元素对应一组参数在交叉验证中的得分标准差。 - 所以,只需要通过索引定位,就能拿到最佳得分的标准差:
best_std = result.cv_results_['std_test_score'][result.best_index_]
如果你想同时获取和旧版本grid_scores_类似的完整信息(均值、标准差、参数),可以这样写:
best_mean = result.cv_results_['mean_test_score'][result.best_index_] best_std = result.cv_results_['std_test_score'][result.best_index_] best_params = result.cv_results_['params'][result.best_index_] print(f"mean: {best_mean:.5f}, std: {best_std:.5f}, params: {best_params}")
这样输出的格式就和你之前用grid_scores_[result.best_index_]得到的结果几乎一致了。
内容的提问来源于stack exchange,提问作者Neabfi
相关产品推荐
相关产品推荐

