Значения F1 баллов различаются для показателя F1 метри c и отчета о классификации sklearn - PullRequest
1 голос
/ 17 января 2020

Я пытаюсь проанализировать свои результаты, поэтому я использую метрику показателя F1 c и отчет о классификации по sklearn. Отображаемые результаты совершенно не зависят от типа усреднения. Это не соответствует вообще. пример моих данных проверки

F1 балл 0,7666666666666667

Но результаты классификационного отчета:

  report       precision recall  f1-score   support
       0       0.16      0.57      0.25         7
       1       0.40      0.09      0.14        23
accuracy                           0.20        30



macro avg      precision: 0.28, recall:0.33,  f1score:0.20      support:30

weighted avg       precision:0.34      recall:0.20      f1score:0.17        support:30

Любая помощь будет оценена. спасибо!

Мой код: `print ('оценка F1 {}'. формат (sklearn.metrics.f1_score (test_label, np.round (y_pred), средний = 'микро')) ´

А для отчета о классификации это:

`печать ('оценка F1 {}'. Формат (sklearn.metrics.classification_report (test_label, np.round (y_pred), target_names = label)) ´

ярлыки - это просто список с моими ярлыками классов.

1 Ответ

0 голосов
/ 20 января 2020

Когда вы вычисляете f1-счет, вы запрашиваете scikit для вычисления среднего = «микро», но в отчете о классификации вычисляется макрос и средневзвешенное значение.

Попробуйте print('F1 score {}'.format(sklearn.metrics.f1_score(test_label, np.round(y_pred), average='macro')).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...