ValueError: 'balance_accuracy' не является допустимым значением оценки в Scikit-Learn. - PullRequest
0 голосов
/ 17 ноября 2018

Я пытался перейти к 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: 'balance_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_macro', 'precision_micro', 'precision_samples', 'precision_weighted' , 'г2', 'напомним', 'recall_macro', 'recall_micro', 'recall_samples', 'recall_weighted', 'roc_auc', 'v_measure_score']

Это странно, потому что 'balance_accuracy' должно быть действительным Без определения balanced_accuracy тогда код работает нормально

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

Кроме того, показатели оценки в приведенной выше ошибке, похоже, отличаются от показателей в документе

Есть идеи почему? Большое вам спасибо

scikit-learn версия 0.19.2

1 Ответ

0 голосов
/ 17 ноября 2018

Обновите свой sklearn до последней версии, если вы хотите использовать balanced_accuracy.Как видно из документации 0.19 balanced_accuracy не является действительным показателем оценки.Это было добавлено в 0,20 .

...