pourquoi ne scikitlearn dit F1 score est mal définie avec le FN plus grand que 0?
- Je exécuter un programme en python qui appelle sklearn.metrics
's méthodes pour calculer la précision et la F1 score. Voici la sortie quand il n'est pas prédit exemple:
/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)
Quand il n'est pas prédit exemple, cela signifie que TP+FP est 0, donc
- de précision (défini comme TP/(TP+FP)) est 0/0, ne sont pas définis,
- F1 score (défini comme 2TP/(2TP+FP+FN)) est 0 si le FN n'est pas zéro.
Dans mon cas, sklearn.metrics
retourne également la précision de 0,8, et de rappeler que 0. Donc le FN n'est pas zéro.
Mais pourquoi ne scikilearn dit F1 est mal définie?
Quelle est la définition de la F1 utilisé par Scikilearn?
- veuillez cocher la réponse acceptée.
Vous devez vous connecter pour publier un commentaire.
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/metrics/classification.py
précision = TP/(TP+FP) que vous venez de dire si prédicteur n'est pas prédit positif de classe à tous - la précision est de 0.
rappel = TP/(TP+FN), dans le cas où si prédicteur n'est pas de prédire positive de la classe - TP est de 0 - rappel 0.
Alors maintenant, vous êtes en divisant 0/0.
De précision, de Rappel, F1-score et Précision calcul
Wikipedia référence