Rückruf und Präzision in der Klassifizierung

40

Ich habe einige Definitionen von Rückruf und Genauigkeit gelesen, obwohl dies jedes Mal im Zusammenhang mit dem Abrufen von Informationen geschieht. Ich habe mich gefragt, ob jemand dies in einem Klassifizierungskontext etwas genauer erklären und vielleicht einige Beispiele veranschaulichen könnte. Angenommen, ich habe einen binären Klassifikator, der eine Genauigkeit von 60% und einen Rückruf von 95% ergibt. Ist dies ein guter Klassifikator?

Vielleicht, um meinem Ziel ein bisschen mehr zu helfen, was ist für Sie der beste Klassifikator? (Datensatz ist unausgewogen. Die Mehrheitsklasse hat doppelt so viele Beispiele wie die Minderheitsklasse.)

Ich persönlich würde aufgrund des Bereichs unter der Empfängerkurve 5 sagen .

(Wie Sie hier sehen können, hat Modell 8 eine geringe Genauigkeit, einen sehr hohen Wiedererkennungswert, aber eine der niedrigsten AUC_ROC. Ist es dann ein gutes oder ein schlechtes Modell?)

Bildbeschreibung hier eingeben


bearbeiten:

Ich habe eine Excel-Datei mit weiteren Informationen: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

In diesem Dokument finden Sie den Bereich unter der Empfängeroperatorkurve und den Bereich unter der Präzisionsrückrufkurve. Zusammen mit den Grundstücken.

Olivier_s_j
quelle
6
Warum die negative Abstimmung? Dies scheint eine interessante Frage zu sein (sicherlich eine, auf die mehrere Personen eine Antwort für möglich gehalten haben).
Gala
Wie viele Testfälle waren an der Berechnung der Leistungskennzahlen beteiligt? Wenn Sie mehrere Klassifikatoren mit demselben Datensatz vergleichen, können Sie auch ein gepaartes Design verwenden (es gibt verschiedene Fragen und Antworten zum Vergleich von Klassifikatoren im Lebenslauf).
cbeleites unterstützt Monica am
Ich habe 799 Proben (wenn Sie das mit Testfall meinen). Jedes Mal, wenn ich die Daten in 10 Teilmengen aufspalte. 1 Teilmenge zum Testen der Klassifikatoren und der Rest zum Trainieren der Klassifikatoren (Die verglichenen Klassifikatoren werden mit denselben Daten trainiert).
Olivier_s_j
Geben die Klassifizierer einen Binärwert aus oder geben sie einen Realwert aus und verwenden dann einen Schwellenwert, um ihn binär zu machen?
Galath
Sie geben einen Binärausgang aus.
Olivier_s_j

Antworten:

40

Ob ein Klassifikator „gut“ ist, hängt wirklich davon ab

  1. Was gibt es sonst noch für Ihr spezielles Problem. Natürlich möchten Sie, dass ein Klassifikator besser ist als zufällige oder naive Vermutungen (z. B., dass alles zur häufigsten Kategorie gehört), aber einige Dinge lassen sich leichter klassifizieren als andere.
  2. Die Kosten für verschiedene Fehler (Falschalarm vs. Falschnegative) und die Basisrate. Es ist sehr wichtig, die beiden zu unterscheiden und die Konsequenzen herauszufinden, da es möglich ist, einen Klassifikator mit einer sehr hohen Genauigkeit (korrekte Klassifizierung bei einigen Testproben) zu haben, der in der Praxis völlig unbrauchbar ist (sagen wir, Sie versuchen, eine seltene Krankheit oder eine andere zu entdecken) ungewöhnliches böswilliges Verhalten und der Plan, bei Entdeckung eine Maßnahme einzuleiten: Das Testen in großem Maßstab kostet etwas und die Abhilfemaßnahme / -behandlung ist in der Regel auch mit erheblichen Risiken / Kosten verbunden könnte besser sein, nichts zu tun).

Um den Zusammenhang zwischen Rückruf / Präzision einerseits und Sensitivität / Spezifität andererseits zu verstehen, ist es hilfreich, auf eine Verwirrungsmatrix zurückzukommen:

                      Condition: A             Not A

  Test says “A”       True positive (TP)   |   False positive (FP)
                      ----------------------------------
  Test says “Not A”   False negative (FN)  |    True negative (TN)

Der Rückruf lautet TP / (TP + FN), während die Genauigkeit TP / (TP + FP) ist. Dies spiegelt die Art des Problems wider: Beim Abrufen von Informationen möchten Sie so viele relevante Dokumente wie möglich identifizieren (das ist Rückruf) und vermeiden, dass Sie Junk sortieren müssen (das ist Präzision).

Unter Verwendung derselben Tabelle sind herkömmliche Klassifizierungsmetriken (1) als TP / (TP + FN) definierte Empfindlichkeit und (2) als TN / (FP + TN) definierte Spezifität. Rückruf und Sensitivität sind also einfach synonym, aber Präzision und Spezifität werden unterschiedlich definiert (wie Rückruf und Sensitivität wird Spezifität in Bezug auf die Spaltensumme definiert, wohingegen Präzision sich auf die Zeilensumme bezieht). Präzision wird manchmal auch als "positiver Vorhersagewert" oder selten als "falsch-positive Rate" bezeichnet (siehe aber meine Antwort auf " Beziehung zwischen wahr-positiv, falsch-positiv, falsch-negativ und wahr-negativ" in Bezug auf die Verwirrung um diese Definition des falsch-positiven Bewertung).

Interessanterweise beinhalten Informationsabrufmetriken nicht die "echte negative" Zählung. Dies ist sinnvoll: Beim Abrufen von Informationen ist es Ihnen nicht wichtig, negative Instanzen per se richtig zu klassifizieren. Sie möchten nur nicht, dass zu viele davon Ihre Ergebnisse verschmutzen (siehe auch Warum werden echte Negative beim Abrufen nicht berücksichtigt? ).

Aufgrund dieses Unterschieds ist es nicht möglich, von der Spezifität zur Präzision oder umgekehrt zu gelangen, ohne zusätzliche Informationen, nämlich die Anzahl der echten Negative oder alternativ den Gesamtanteil der positiven und negativen Fälle. Höhere Spezifität bedeutet jedoch für den gleichen Korpus / Testsatz immer eine bessere Präzision, sodass sie eng miteinander verwandt sind.

In einem Informationsabrufkontext besteht das Ziel typischerweise darin, eine kleine Anzahl von Übereinstimmungen aus einer großen Anzahl von Dokumenten zu identifizieren. Aufgrund dieser Asymmetrie ist es in der Tat viel schwieriger, eine gute Genauigkeit als eine gute Spezifität zu erhalten, während die Empfindlichkeit / Erinnerung konstant gehalten wird. Da die meisten Dokumente irrelevant sind, gibt es viel mehr Anlässe für Fehlalarme als für echte Positive, und diese Fehlalarme können die korrekten Ergebnisse überdecken, selbst wenn der Klassifikator eine beeindruckende Genauigkeit in einem ausgeglichenen Testsatz aufweist (dies ist in der Tat in den Szenarien I der Fall) erwähnt in meinem Punkt 2 oben). Folglich müssen Sie wirklich die Präzision optimieren und nicht nur eine anständige Spezifität sicherstellen, da selbst beeindruckend aussehende Raten wie 99% oder mehr manchmal nicht ausreichen, um zahlreiche Fehlalarme zu vermeiden.

Es gibt normalerweise einen Kompromiss zwischen Sensitivität und Spezifität (oder Erinnerung und Präzision). Intuitiv, wenn Sie ein breiteres Netz werfen, erkennen Sie relevantere Dokumente / positive Fälle (höhere Empfindlichkeit / Rückruf), aber Sie erhalten auch mehr Fehlalarme (geringere Spezifität und geringere Präzision). Wenn Sie alles in die positive Kategorie einordnen, haben Sie einen 100% igen Wiederaufruf / Empfindlichkeit, eine schlechte Genauigkeit und einen meist unbrauchbaren Klassifikator („meistens“, weil Sie ohne weitere Informationen davon ausgehen können, dass dies nicht der Fall ist in der Wüste regnen und entsprechend handeln, damit die Ausgabe vielleicht doch nicht unbrauchbar wird (dafür brauchen Sie natürlich kein ausgeklügeltes Modell).

In Anbetracht dessen klingt eine Genauigkeit von 60% und ein Rückruf von 95% nicht allzu schlecht. Dies hängt jedoch auch wirklich von der Domäne ab und davon, was Sie mit diesem Klassifikator tun möchten.


Einige zusätzliche Informationen zu den neuesten Kommentaren / Änderungen:

Auch hier hängt die Leistung, die Sie erwarten können, von den Besonderheiten ab (in diesem Zusammenhang sind dies beispielsweise die genauen Emotionen, die im Trainingsset vorhanden sind, die Bild- / Videoqualität, die Leuchtkraft, die Okklusion, Kopfbewegungen, agierte oder spontane Videos). personenabhängiges oder personenunabhängiges Modell usw.), aber F1 über .7 klingt für diese Art von Anwendungen gut, auch wenn die allerbesten Modelle in einigen Datensätzen besser abschneiden können [siehe Valstar, MF, Mehu, M., Jiang, B., Pantic, M. & Scherer, K. (2012). Meta-Analyse der ersten Herausforderung zur Erkennung des Gesichtsausdrucks. IEEE-Transaktionen auf Systemen, Menschen und Kybernetik, Teil B: Kybernetik, 42 (4), 966-979.]

Ob ein solches Modell in der Praxis sinnvoll ist, ist eine völlig andere Frage und hängt natürlich von der Anwendung ab. Beachten Sie, dass der „Gesichtsausdruck“ selbst ein komplexes Thema ist und es nicht einfach ist, von einem typischen Trainingsset (Posed Expressions) zu einer realen Situation zu gelangen. Dies ist in diesem Forum eher unangebracht, hat jedoch schwerwiegende Konsequenzen für jede mögliche praktische Anwendung, die Sie in Erwägung ziehen.

Ein Kopf-an-Kopf-Vergleich zwischen Modellen ist eine weitere Frage. Ich nehme die von Ihnen vorgestellten Zahlen so an, dass es keinen dramatischen Unterschied zwischen den Modellen gibt (wenn Sie sich auf das oben zitierte Papier beziehen, ist der Bereich der F1-Werte für bekannte Modelle in diesem Bereich viel breiter). In der Praxis würden technische Aspekte (Einfachheit / Verfügbarkeit der Standardbibliotheken, Geschwindigkeit der verschiedenen Techniken usw.) wahrscheinlich darüber entscheiden, welches Modell implementiert wird, es sei denn, Kosten / Nutzen und die Gesamtrate sprechen eindeutig für Präzision oder Rückruf.

Gala
quelle
Mein Klassifikator klassifiziert Gesichter in positive oder negative Emotionen. Ich habe einige Klassifizierungsalgorithmen mit 10-facher Kreuzvalidierung ausgeführt und manchmal bekomme ich sogar einen Rückruf von 100%, obwohl die Genauigkeit für alle Klassifizierer nahezu gleich ist (etwa 65%). Ich arbeite mit einem unausgeglichenen Datensatz (die Mehrheitsklasse enthält doppelt so viele Stichproben wie die Minderheitsklasse). Ich dachte daher, dies bedeutete wahrscheinlich, dass meine Modelle das Muster nicht lernten.
Olivier_s_j
1
@Gala: Was ist der Unterschied zwischen einem "falschen Alarm" und einem "falschen Negativ"? Meinen Sie einen Fehlalarm und einen Fehlalarm?
Matt O'Brien
@ MattO'Brien Ein falscher Alarm ist ein Fehlalarm (dh das System sagt "Vorsicht!" Oder "Gefunden!", Aber es besteht kein Handlungsbedarf, daher "falscher Alarm"). Vielleicht ist die Terminologie ein bisschen verwirrend, ich werde die Antwort später überprüfen.
Gala
@Ojtwist Wenn Positiv eine vorherige Wahrscheinlichkeit von 67% hat, können Sie einen Rückruf von 100% und eine Genauigkeit von ~ 67% erhalten, indem Sie alles als positiv vorhersagen.
Mark
21

Im Kontext der binären Klassifikation sind Beispiele entweder positiv oder negativ.

  • Der Rückruf befasst sich mit der Frage: "Wird der Klassifikator bei einem positiven Beispiel dies erkennen?"
  • Die Genauigkeit spricht die Frage an: "Wie wahrscheinlich ist es bei einer positiven Vorhersage des Klassifikators, dass sie korrekt ist?"

Es kommt also darauf an, ob der Fokus auf positiven Beispielen oder auf positiven Vorhersagen liegt.

Man könnte sagen "bei einem Rückruf von mindestens 90% ist der Klassifikator mit der höchsten Präzision 4." Wenn es jedoch auf die Qualität der Vorhersagen ankommt, ist unter den Klassifikatoren mit einer Genauigkeit von mindestens 70% diejenige mit dem höchsten Wiedererkennungswert 6.

Galath
quelle
6

Der Übergang von kontinuierlichen Vorhersagen, wie sie bei der Berechnung des ROC-Bereichs (Konkordanzwahrscheinlichkeit; c-Index) verwendet werden, zu einer diskontinuierlichen Regel für eine falsche Bewertung (erzwungene Klassifizierungsgenauigkeit) führt zu allen Arten von Anomalien und führt den Analysten in die Irre, die falschen Vorhersagen zu wählen und / oder oder das falsche Modell. Es ist viel besser, Entscheidungen auf der Grundlage geeigneter Bewertungsregeln zu treffen (z. B. Bewertungsregel für logarithmische Wahrscheinlichkeit / Abweichung / logarithmische Wahrscheinlichkeit; Brier-Punktzahl (quadratische Wahrscheinlichkeits-Genauigkeits-Punktzahl)). Zu den vielen Vorteilen eines solchen Ansatzes gehört die Identifizierung von Beobachtungen, deren Einstufung aufgrund von Unsicherheiten aufgrund von Wahrscheinlichkeiten im mittleren Bereich für Ihre Gesundheit gefährlich ist.

Frank Harrell
quelle
Sind diese Bewertungsregeln nicht nur anwendbar, wenn das Modell probabilistische Ergebnisse liefert?
Olivier_s_j
3
Sie haben die ROC-AUC erwähnt, die probabilistische Ausgaben erfordert (oder etwas, das eine monotone Funktion derselben ist). Die besten Vorhersagemethoden haben Wahrscheinlichkeiten unter der Haube.
Frank Harrell
DxyY
Das Problem bei der Verwendung von ROC- und nicht erzwungenen Einstufungsgenauigkeitsmaßen besteht darin, dass sie im Anwendungskontext eigentlich nichts bedeuten, wenn man tatsächlich einen Schwellenwert gemäß einem Geschäftsfall auswählen muss. Beispielsweise verfügt ein Unternehmen in einem Produkt zur Aufdeckung von Finanzkriminalität im Investment Banking möglicherweise nur über die personellen Ressourcen, um 100 Klassifizierungen pro Jahr zu untersuchen. Dies führt zu einer festen Schwelle, die optimiert werden sollte. Gini, ROC-Bereich usw. sagen Ihnen nicht, wie gut das Modell bei dieser Schwelle ist. ...
samthebest
2
Es ist sehr vernünftig, die Anzahl der Untersuchungen auf ein Budget zu beschränken. Dies erfordert keine Schwellenwerte, keine neue Optimierung, keine Klassifizierungen und keine ROC-Analyse. Man sortiert die Beobachtungen lediglich in absteigender Reihenfolge des vorhergesagten Risikos und wählt die ersten 100 zu untersuchenden Beobachtungen aus. Dies hängt mit einer im Marketing verwendeten Liftkurve zusammen.
Frank Harrell
5

Weder Präzision noch Rückruf erzählen die ganze Geschichte, und es ist schwierig, einen Prädiktor mit beispielsweise 90% Rückruf und 60% Präzision mit einem Prädiktor mit beispielsweise 85% Präzision und 65% Rückruf zu vergleichen - es sei denn natürlich, Sie haben Kosten / Nutzen für jede der 4 Zellen (tp / fp / tn / fn) in der Verwirrungsmatrix .

Eine interessante Möglichkeit, eine einzelne Zahl ( Proficiency , aka Unsicherheitskoeffizient ) zu erhalten, die die Klassifikatorleistung beschreibt, ist die Verwendung der Informationstheorie :

proficiency = I(predicted,actual) / H(actual)

Das heißt, Sie erfahren, welcher Teil der in den tatsächlichen Daten enthaltenen Informationen vom Klassifizierer wiederhergestellt wurde. Es ist 0, wenn entweder Präzision oder Rückruf 0 ist, und es ist 100%, wenn (und nur wenn) sowohl Präzision als auch Rückruf 100% sind. Insofern ähnelt es der F1-Punktzahl , aber Kompetenz hat eine klare informationstheoretische Bedeutung, während F1 nur ein harmonischer Durchschnitt aus zwei Zahlen mit einer Bedeutung ist.

Sie finden Papier, Präsentation und Code (Python) zur Berechnung der Proficiency-Metrik hier: https://github.com/Magnetic/proficiency-metric

sds
quelle
interessant! Können Sie uns ein Beispiel für die Berechnung von Kenntnissen geben? weil die Formel für mich seltsam aussieht.
einsam
Kommentare sind nicht für längere Diskussionen gedacht. Diese Unterhaltung wurde in den Chat verschoben .
Scortchi