Wie erstelle ich eine Precision-Recall-Kurve, wenn ich nur einen Wert für PR habe?


12

Ich habe eine Data Mining-Aufgabe, bei der ich ein inhaltsbasiertes Bildabrufsystem erstelle. Ich habe 20 Bilder von 5 Tieren. Also insgesamt 100 Bilder.

Mein System gibt die 10 relevantesten Bilder an ein Eingabebild zurück. Jetzt muss ich die Leistung meines Systems mit einer Precision-Recall-Kurve bewerten. Ich verstehe jedoch das Konzept einer Precision-Recall-Kurve nicht. Angenommen, mein System gibt 10 Bilder für ein Gorilla-Bild zurück, aber nur 4 davon sind Gorillas. Die anderen 6 zurückgegebenen Bilder sind andere Tiere. Somit,

  • Genauigkeit ist 4/10 = 0.4(zurückgegebene Relevanten) / (alle zurückgegeben)
  • Rückruf ist 4/20 = 0.2(zurückgegebene relevante) / (alle relevanten)

Ich habe also nur einen Punkt <0.2,0.4>, keine Kurve. Wie habe ich eine Kurve (dh eine Reihe von Punkten)? Sollte ich die Anzahl der zurückgegebenen Bilder ändern (dies ist in meinem Fall auf 10 festgelegt)?


2
Die meisten Modelle weisen eine Wahrscheinlichkeit zu, zu einer Klasse zu gehören, nicht zu einer Klasse selbst - oder Sie drücken eine aus einem Klassifikator heraus. Die Kurve wird durch Ändern des Wahrscheinlichkeitsgrenzwerts abgeleitet. Sie erhalten wahrscheinlich detailliertere Antworten, wenn Sie den von Ihnen verwendeten Klassifikator erwähnen.
Charles

Ich berechne Merkmalsvektoren (Farbe, Textur und Form) und erhalte Ähnlichkeitsbewertungen für jede, fasse sie zu einer Gesamtähnlichkeitsbewertung zusammen und sortiere sie dann absteigend. Die Top 10 Bildindizes sind die relevantesten. Ich kann den Klassenindex aus dem Bildindex erhalten, da die Bilder geordnet sind (20 Gorillas, 20 Giraffen usw.). Ich hoffe, ich habe mich klar ausgedrückt, da ich die Konzepte Klassifikator / Deskriptor usw. nicht vollständig verstehe.
jeff

Mir wurde klar, dass ich die Frage nicht gut gelesen habe. Ich dachte du hättest ein Zwei-Klassen-Problem (Gorilla / No-Gorilla). Wenn
Charles

Antworten:


11

Das Generieren einer PR-Kurve ähnelt dem Generieren einer ROC-Kurve. Um solche Diagramme zu zeichnen, benötigen Sie eine vollständige Rangfolge des Testsatzes. Um dieses Ranking zu erstellen, benötigen Sie einen Klassifikator, der einen Entscheidungswert anstelle einer binären Antwort ausgibt . Der Entscheidungswert ist ein Maß für das Vertrauen in eine Vorhersage, mit der wir alle Testinstanzen bewerten können. Beispielsweise sind die Entscheidungswerte der logistischen Regression und der SVM eine Wahrscheinlichkeit bzw. ein (vorzeichenbehafteter) Abstand zur trennenden Hyperebene.

Wenn Sie über Entscheidungswerte verfügen, definieren Sie einen Satz von Schwellenwerten für diese Entscheidungswerte. Diese Schwellenwerte sind unterschiedliche Einstellungen eines Klassifikators: Sie können beispielsweise den Grad des Konservativismus steuern. Für die logistische Regression wäre der Standardschwellenwert überschreiten.f(x)=0,5(0,1) . In der Regel werden die Schwellenwerte als eindeutige Entscheidungswerte ausgewählt, die Ihr Modell für den Testsatz erhalten hat.

(T.ich,P.ich,R.ich)(P.ich,R.ich)

Wenn ich Ihren Kommentar richtig verstanden habe, kann der von Ihnen berechnete Gesamtähnlichkeitswert als Entscheidungswert verwendet werden.


Dies ist mir nicht klar. Können Sie ein detailliertes Beispiel durcharbeiten, das der Situation beim Abrufen von Tierbildern des OP ähnelt?
MR
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.