Я запускаю программу 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?