ValueError:“ balanced_accuracy”在scikit-learn

时间:2018-11-17 07:54:43

标签: python machine-learning scikit-learn metrics

我尝试将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_coreed',' 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_ision_ision'pre''precision','precision','precision','prec''' ,'r2','recall','recall_macro','recall_micro','recall_samples','recall_weighted','roc_auc','v_measure_score']

这很奇怪,因为“ balanced_accuracy” should be valid 如果不定义balanced_accuracy,则代码可以正常工作

    scoring = ['recall','roc_auc','f1','precision']

此外,上述错误中的得分指标似乎与document中的得分指标不同

任何想法为何?非常感谢

scikit-learn版本是0.19.2

1 个答案:

答案 0 :(得分:4)

如果要使用balanced_accuracy,请将sklearn更新到最新版本。从0.19 documentation balanced_accuracy可以看出,这不是有效的评分指标。是added in 0.20