Почему scikitlearn говорит, что оценка F1 плохо определена с FN больше 0?
Я запускаю программу python, которая вызывает методы sklearn.metrics
для вычисления точности и оценки F1. Вот результат, когда нет прогнозируемого образца:
/xxx/py2-scikit-learn/0.15.2-comp6/lib/python2.6/site-packages/sklearn/metr\
ics/metrics.py:1771: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.
'precision', 'predicted', average, warn_for)
/xxx/py2-scikit-learn/0.15.2-comp6/lib/python2.6/site-packages/sklearn/metr\
ics/metrics.py:1771: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.
'precision', 'predicted', average, warn_for)
Если предсказанного образца нет, это означает, что TP + FP равно 0, поэтому
- точность (определенная как TP/(TP + FP)) равна 0/0, не определена,
- Значение F1 (определено как 2TP/(2TP + FP + FN)) равно 0, если FN не равно нулю.
В моем случае sklearn.metrics
также возвращает точность как 0,8 и называет 0. Так что FN не равно нулю.
Но почему scikilearn говорит, что F1 не определен?
Каково определение F1, используемое Scikilearn?
Ответы
Ответ 1
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/metrics/classification.py
F1 = 2 * (точность * отзыв)/(точность + отзыв)
precision = TP/(TP + FP), как вы только что сказали, если предсказатель не прогнозирует положительный класс вообще - точность равна 0.
напомнить = TP/(TP + FN), если предсказатель не прогнозирует положительный класс - TP равен 0 - отзыв 0.
Итак, теперь вы делите 0/0.
Ответ 2
Точность, отзыв, коэффициент F1 и Точность
- In a given image of Dogs and Cats
* Total Dogs - 12 D = 12
* Total Cats - 8 C = 8
- Computer program predicts
* Dogs - 8
5 are actually Dogs T.P = 5
3 are not F.P = 3
* Cats - 12
6 are actually Cats T.N = 6
6 are not F.N = 6
- Calculation
* Precision = T.P / (T.P + F.P) => 5 / (5 + 3)
* Recall = T.P / D => 5 / 12
* F1 = 2 * (Precision * Recall) / (Precision + Recall)
* F1 = 0.5
* Accuracy = T.P + T.N / P + N
* Accuracy = 0.55
Википедия ссылка