La précision est définie comme:
p = vrais positifs / (vrais positifs + faux positifs)
Quelle est la valeur de la précision si (vrais positifs + faux positifs) = 0? Est-ce juste indéfini?
Même question pour rappel:
r = vrais positifs / (vrais positifs + faux négatifs)
Dans ce cas, quelle est la valeur de rappel si (vrais positifs + faux négatifs) = 0?
PS Cette question est très similaire à la question Quelles sont les valeurs correctes pour la précision et le rappel dans les cas de bord? .
precision-recall
Raffi Khatchadourian
la source
la source
Réponses:
Les réponses à la question précédente liée s'appliquent également ici.
Si (vrais positifs + faux négatifs) = 0, alors aucun cas positif dans les données d'entrée, donc toute analyse de ce cas n'a aucune information, et donc aucune conclusion sur la façon dont les cas positifs sont traités. Vous voulez N / A ou quelque chose de similaire comme résultat du rapport, en évitant une division par zéro erreur
Si (vrais positifs + faux positifs) = 0 alors tous les cas ont été prédits négatifs: c'est une extrémité de la courbe ROC. Encore une fois, vous voulez reconnaître et signaler cette possibilité tout en évitant une division par zéro erreur.
la source
Une réponse intéressante est proposée ici: https://github.com/dice-group/gerbil/wiki/Precision,-Recall-and-F1-measure
Les auteurs du module produisent différents scores de précision et de rappel selon que les vrais positifs, les faux positifs et les faux négatifs sont tous à 0. Si tel est le cas, le résultat est apparemment bon.
Je ne sais pas si ce type de notation serait utile dans d'autres situations en dehors de leur cas particulier, mais cela mérite réflexion.
la source
Lors de l'évaluation d'un classificateur à des seuils élevés, la précision peut (souvent en fait) ne pas être 1 lorsque le rappel est 0. C'est généralement N / A! Je pense qu'il y a quelque chose qui ne va pas dans la façon dont les gens tracent la courbe P / R. Éviter les échantillons N / A est un biais dans le sens où vous évitez les échantillons de singularité. J'ai calculé la précision moyenne par rapport au rappel moyen en ignorant les échantillons N / A et je n'ai jamais obtenu de classificateur commençant à 1 pour un rappel de 0 pour un réseau neuronal peu profond dans la détection d'objets. Cela était également vrai pour les courbes calculées avec les nombres tp, fp, fn. Il est assez facile de vérifier au papier et au crayon avec une seule image. Par exemple: J'ai un classifieur qui produit pour une seule image: preds = [. 7 .6 .5 .1 .05] vérité = [nynny] En calculant les matrices de confusion avec les différents seuils que nous avons: tp = [2 1 1 1 0 0], fn = [0 1 1 1 2 2], fp = [3 3 2 1 1 0]. le rappel rec = [1 .5 .5 .5 0 0], et la précision = [. 4 .25 1/3 .5 0 NaN]. Je ne vois pas comment il serait logique de remplacer un NaN ou la précision (@ rappel == 0) par 1. 1 devrait être une limite supérieure, pas une valeur avec laquelle nous remplaçons la précision (@ rappel == 0).
la source