¿por qué scikitlearn dice que la puntuación F1 está mal definida con FN mayor que 0?

Ejecuto un programa de Python que llamasklearn.metricsLos métodos para calcular la precisión y la puntuación F1. Aquí está la salida cuando no hay una muestra predicha:

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

Cuando no hay una muestra predicha, significa que TP + FP es 0, entonces

la precisión (definida como TP / (TP + FP)) es 0/0, no definida,La puntuación F1 (definida como 2TP / (2TP + FP + FN)) es 0 si FN no es cero.

En mi caso,sklearn.metrics también devuelve la precisión como 0.8, y recupera como 0. Entonces FN no es cero.

Pero ¿por qué scikilearn dice que F1 está mal definido?

¿Cuál es la definición de F1 utilizada por Scikilearn?

Respuestas a la pregunta(2)

Su respuesta a la pregunta