我运行一个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,未定义
如果FN不为零,F1得分(定义为2TP/(2TP+FP+FN))为0。
在我的例子中,sklearn.metrics还返回0.8的准确性,并返回0。所以FN不是零。
但为什么希基勒恩说F1定义不清?
Scikilern对F1的定义是什么?