por que o scikitlearn diz que a pontuação F1 está mal definida com FN maior que 0?

Eu corro um programa python que chamasklearn.metricsmétodos para calcular a precisão e a pontuação F1. Aqui está a saída quando não há amostra prevista:

/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)

Quando não há amostra prevista, isso significa que TP + FP é 0, então

precisão (definida como TP / (TP + FP)) é 0/0, não definida,A pontuação F1 (definida como 2TP / (2TP + FP + FN)) é 0 se FN não for zero.

No meu caso,sklearn.metrics também retorna a precisão como 0,8 e recupera como 0. Portanto, FN não é zero.

Mas por que o scikilearn diz que F1 está mal definido?

Qual é a definição de F1 usada pelo Scikilearn?

questionAnswers(2)

yourAnswerToTheQuestion