что означают цифры в отчете о классификации sklearn?


30

Ниже приведен пример, извлеченный из документации sklearn.metrics.classification_report.

Что я не понимаю, так это то, почему существуют значения f1-показателя, точности и отзыва для каждого класса, где я считаю, что класс является меткой предиктора? Я думал, что оценка f1 говорит вам об общей точности модели. Кроме того, что говорит нам колонка поддержки? Я не мог найти информацию об этом.

print(classification_report(y_true, y_pred, target_names=target_names))
             precision    recall  f1-score   support

    class 0       0.50      1.00      0.67         1
    class 1       0.00      0.00      0.00         1
    class 2       1.00      0.67      0.80         3

avg / total       0.70      0.60      0.61         5

Ответы:


22

F1-оценка дает вам гармоничное среднее значение точности и отзыва. Баллы, соответствующие каждому классу, скажут вам точность классификатора при классификации точек данных в этом конкретном классе по сравнению со всеми другими классами.

Поддержка - это количество образцов истинного ответа, которые лежат в этом классе.

Вы можете найти документацию по обеим мерам в документации по sklearn.

Поддержка - http://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html

F1-Score - http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html

РЕДАКТИРОВАТЬ

Последняя строка дает средневзвешенное значение точности, отзыва и f1-балла, где веса являются значениями поддержки. так что для точности среднее значение (0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70. Всего только для общей поддержки, которая 5 здесь.


1
как насчет последней строки avg / total? Похоже, это не соответствует столбцу означает ... Как это вычисляется и что это значит?
Антуан

@ Антуан, мне тоже интересно. Вы узнали, как рассчитывается?
Бледно-голубая точка

@Antoine Последняя строка дает средневзвешенное значение точности, отзыва и f1-показателя, где веса являются значениями поддержки. так что для точности среднее значение (0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70. Всего только для общей поддержки, которая 5 здесь.
Нитин

Благодаря предыдущему ответу @Nitin я нашел по ссылкам лучшие визуальные описания и интуицию в математике: en.wikipedia.org/wiki/Precision_and_recall en.wikipedia.org/wiki/F1_score
Богдан Корецкий
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.