Comment former une courbe de précision-rappel lorsque je n'ai qu'une seule valeur pour PR?

12

J'ai une mission d'exploration de données où je crée un système de récupération d'images basé sur le contenu. J'ai 20 images de 5 animaux. Donc au total 100 images.

Mon système renvoie les 10 images les plus pertinentes à une image d'entrée. Je dois maintenant évaluer les performances de mon système avec une courbe de précision-rappel. Cependant, je ne comprends pas le concept de courbe de précision-rappel. Disons que mon système retourne 10 images pour une image de gorille, mais seulement 4 d'entre elles sont des gorilles. Les 6 autres images retournées sont d'autres animaux ». Donc,

  • la précision est 4/10 = 0.4(relevés renvoyés) / (tous retournés)
  • rappel est 4/20 = 0.2(relevés retournés) / (tous relevants)

Je n'ai donc qu'un point <0.2,0.4>, pas une courbe. Comment puis-je avoir une courbe (c'est-à-dire un ensemble de points)? Dois-je changer le nombre d'images retournées (celui-ci est fixé à 10 dans mon cas)?

Jeff
la source
2
La plupart des modèles attribuent une probabilité d'appartenance à une classe, pas une classe elle-même - ou vous en extrayez une d'un classificateur. La courbe est dérivée en modifiant la coupure de probabilité. Vous obtiendrez probablement des réponses plus détaillées si vous mentionnez le classificateur que vous utilisez.
charles
Je calcule des vecteurs de caractéristiques (couleur, texture et forme) et j'obtiens des scores de similitude pour chacun, je les additionne pour un score de similitude total, puis je trie par ordre décroissant. les 10 premiers indices d'image sont les plus pertinents. Je peux obtenir l'index des classes à partir de l'index des images puisque les images sont ordonnées (20 gorilles, 20 girafes etc.) J'espère que je me suis bien fait comprendre, car je ne comprends pas bien les concepts classificateur / descripteur etc.
jeff
J'ai réalisé que je n'avais pas bien lu la question. Je pensais que vous aviez un problème à deux classes (gorille / sans gorille). Avec plus de cours bien au-delà de moi, cela peut être utile: stats.stackexchange.com/questions/2151/…
charles

Réponses:

11

La génération d'une courbe PR est similaire à la génération d'une courbe ROC. Pour dessiner de tels graphiques, vous avez besoin d'un classement complet de l'ensemble de test. Pour faire ce classement, vous avez besoin d'un classificateur qui génère une valeur de décision plutôt qu'une réponse binaire. La valeur de décision est une mesure de confiance dans une prédiction que nous pouvons utiliser pour classer toutes les instances de test. À titre d'exemple, les valeurs de décision de la régression logistique et du SVM sont respectivement une probabilité et une distance (signée) par rapport à l'hyperplan de séparation.

f(x)=0.5(0,1)

(Ti,Pi,Ri)(Pi,Ri)

Si j'ai bien compris votre commentaire, le score de similitude total que vous calculez peut être utilisé comme valeur de décision.

Marc Claesen
la source
Ce n'est pas clair pour moi, pouvez-vous travailler avec un exemple détaillé similaire à la situation de récupération d'image animale du PO?
MR