python - ValueError:“balanced_accuracy”不是 scikit-learn 中的有效评分值
问题描述
我试图传递给GridSearchCV
其他评分指标,例如balanced_accuracy
二进制分类(而不是默认值accuracy
)
scoring = ['balanced_accuracy','recall','roc_auc','f1','precision']
validator = GridSearchCV(estimator=clf, param_grid=param_grid, scoring=scoring, refit=refit_scorer, cv=cv)
并得到了这个错误
ValueError:“balanced_accuracy”不是有效的评分值。有效选项是 ['accuracy','adjusted_mutual_info_score','adjusted_rand_score','average_precision','completeness_score','explained_variance','f1','f1_macro','f1_micro','f1_samples','f1_weighted','fowlkes_mallows_score ','homogeneity_score','mutual_info_score','neg_log_loss','neg_mean_absolute_error','neg_mean_squared_error','neg_mean_squared_log_error','neg_median_absolute_error','normalized_mutual_info_score','precision','precision_macro','precision_micro','precision_samples', 'precision_weighted','r2','recall','recall_macro','recall_micro','
这很奇怪,因为“balanced_accuracy”应该是有效的,
如果没有定义balanced_accuracy
,那么代码就可以正常工作
scoring = ['recall','roc_auc','f1','precision']
此外,上述错误中的评分指标似乎与文档中的评分指标不同
任何想法为什么?非常感谢
scikit-learn
版本是 0.19.2
解决方案
如果您想使用balanced_accuracy
. 正如您从0.19 文档 balanced_accuracy
中看到的那样,它不是一个有效的评分指标。它是在 0.20 中添加的。
推荐阅读
- asp.net - 使用 Ninject 进行 Asp.Net Webforms 构造函数注入
- javascript - 如何使用 Javascript 访问带有 innerHTML 的 twig 变量?
- javascript - 焦点选择的 vue.js 元素不是反应式的
- excel - 如何使用每个循环将信息传输到另一个工作表
- html - amp-html:在 amp-list src 中使用查询参数
- angular - 如何在角度 6 中同一组件的多个实例中进行路由
- r - RSelenium - 如何通过单击下一步按钮转到下一页?
- python-3.x - AttributeError:“浮动”对象没有属性“应用”
- java - 获取注解变量的值
- python - 使用 Pyodbc 插入 2003 MDB 文件时出现语法错误