Der Klassifikator „Gut“ hat meine Präzisions-Rückruf-Kurve zerstört. Was ist passiert?

11

Ich arbeite mit unausgeglichenen Daten, wobei es für jede Klasse = 1 ungefähr 40 Fälle von Klasse = 0 gibt. Ich kann die Klassen anhand einzelner Merkmale vernünftigerweise unterscheiden, und das Training eines naiven Bayes- und SVM-Klassifikators auf 6 Merkmale und ausgewogene Daten ergab eine bessere Unterscheidung (ROC-Kurven unten).

Geben Sie hier die Bildbeschreibung ein

Das ist in Ordnung und ich dachte, es geht mir gut. Die Konvention für dieses spezielle Problem besteht jedoch darin, Treffer mit einer Genauigkeit vorherzusagen, normalerweise zwischen 50% und 90%. zB "Wir haben einige Treffer mit einer Genauigkeit von 90% festgestellt." Als ich dies versuchte, betrug die maximale Genauigkeit, die ich mit den Klassifikatoren erzielen konnte, etwa 25% (schwarze Linie, PR-Kurve unten).

Ich könnte dies als ein Problem des Klassenungleichgewichts verstehen, da PR-Kurven empfindlich auf Ungleichgewicht reagieren und ROC-Kurven nicht. Das Ungleichgewicht scheint jedoch die einzelnen Merkmale nicht zu beeinträchtigen: Ich kann mit den einzelnen Merkmalen (blau und cyan) eine ziemlich hohe Präzision erzielen.

Geben Sie hier die Bildbeschreibung ein

Ich verstehe nicht, was los ist. Ich könnte es verstehen, wenn im PR-Bereich alles schlecht lief, da die Daten schließlich sehr unausgewogen sind. Ich könnte es auch verstehen, wenn die Klassifikatoren im ROC- und PR-Bereich schlecht aussehen - vielleicht sind sie nur schlechte Klassifikatoren. Aber was macht die Klassifikatoren nach ROC besser, aber nach Precision-Recall schlechter ?

Bearbeiten : Ich habe festgestellt, dass in den Bereichen mit niedrigem TPR / Rückruf (TPR zwischen 0 und 0,35) die einzelnen Merkmale die Klassifizierer sowohl in der ROC- als auch in der PR-Kurve durchweg übertreffen. Vielleicht liegt meine Verwirrung daran, dass die ROC-Kurve die Bereiche mit hohem TPR "hervorhebt" (wo die Klassifizierer gut abschneiden) und die PR-Kurve den niedrigen TPR hervorhebt (wo die Klassifizierer schlechter sind).

Bearbeiten 2 : Das Training mit nicht ausgeglichenen Daten, dh mit dem gleichen Ungleichgewicht wie die Rohdaten, hat die PR-Kurve wieder zum Leben erweckt (siehe unten). Ich würde vermuten, dass mein Problem darin bestand, die Klassifikatoren nicht richtig zu trainieren, aber ich verstehe nicht ganz, was passiert ist. Geben Sie hier die Bildbeschreibung ein

R Greg Stacey
quelle

Antworten:

7

Ich habe festgestellt, dass die Verwendung von Downsampling / Upsampling keinen unglaublichen Vorteil bietet, wenn Klassen in Verbindung mit einer schwellenwertinvarianten Metrik (wie AUC) mäßig unausgeglichen sind (dh nicht schlechter als 100: 1). Die Abtastung hat den größten Einfluss auf Metriken wie F1-Score und Genauigkeit, da durch die Abtastung der Schwellenwert künstlich verschoben wird, um näher an dem zu sein, was als "optimaler" Ort auf einer ROC-Kurve angesehen werden könnte. Ein Beispiel hierfür finden Sie in der Caret-Dokumentation .

Ich würde @Chris nicht zustimmen, da eine gute AUC besser ist als Präzision, da sie sich vollständig auf den Kontext des Problems bezieht. Darüber hinaus führt eine gute AUC nicht unbedingt zu einer guten Precision-Recall-Kurve, wenn die Klassen unausgeglichen sind. Wenn ein Modell eine gute AUC aufweist, aber dennoch einen schlechten frühen Abruf aufweist, lässt die Präzisions-Rückruf-Kurve zu wünschen übrig. Ein gutes Beispiel dafür finden Sie in dieser Antwort auf eine ähnliche Frage. Aus diesem Grund haben Saito et al. Wenn Sie unausgeglichene Klassen haben, empfehlen Sie die Verwendung eines Bereichs unter der Präzisions-Rückruf-Kurve anstelle der AUC.

Dmartin
quelle
Ich wollte nicht implizieren, dass eine gute AUC immer besser ist als eine gute PR-Kurve.
Chris
1
Beachten Sie auch, dass Sie die positiven und negativen Beschriftungen immer umdrehen können, bevor Sie das Modell anpassen und AUC-PR maximieren. Das beliebte Beispiel zum Abrufen von Dokumenten zeigt die Tatsache, dass Menschen die AUC-PR normalerweise mögen, weil sie zur Minimierung falscher Treffer verwendet werden kann. Sie stören sich eindeutig mehr an nicht verwandten Dokumenten, die sie sich ansehen müssen, als an relevanten Dokumenten, die sie vermissen. Ich studiere Kriege ... um es leicht auszudrücken, ich bin viel mehr von verpassten Treffern als von Fehlalarmen betroffen. Aber das heißt, ich benutze AUC-PR nur mit Frieden als Positiv. Ich würde ROC nur verwenden, wenn ich keine Präferenz für den Fehlertyp hätte.
DHW
1

Der beste Weg, ein Modell zu bewerten, besteht darin, zu untersuchen, wie es in der realen Welt verwendet wird, und eine Kostenfunktion zu entwickeln.

Abgesehen davon wird zum Beispiel zu viel Wert auf das Quadrat gelegt, aber viele glauben, dass es eine nutzlose Statistik ist. Lassen Sie sich also nicht auf eine Statistik ein.

Ich vermute, dass Ihre Antwort ein Beispiel für das Genauigkeitsparadoxon ist.

https://en.m.wikipedia.org/wiki/Accuracy_paradox

Rückruf (auch als Sensitivität oder echte positive Rate bezeichnet) ist der Anteil der relevanten Instanzen, die abgerufen werden.

tpr = tp / (tp + fn)

Präzision (auch als positiver Vorhersagewert bezeichnet) ist der Anteil der abgerufenen Instanzen, die relevant sind.

ppv = tp / (tp + fp)

Angenommen, Sie haben einen sehr unausgewogenen Satz von 99 positiven und einem negativen.

Angenommen, ein Modell wird trainiert, in dem das Modell sagt, dass alles positiv ist.

tp = 99 fp = 1 ppv wird zu 0,99

Klar ein Junk-Modell trotz des "guten" positiven Vorhersagewerts.

Ich empfehle, ein Trainingsset zu erstellen, das entweder durch Über- oder Unterabtastung ausgewogener ist. Verwenden Sie nach dem Erstellen des Modells einen Validierungssatz, der das ursprüngliche Ungleichgewicht beibehält, und erstellen Sie darauf ein Leistungsdiagramm.

Chris
quelle
Vielen Dank. Ich habe es nicht erwähnt, aber ich trainiere an ausgeglichenen Daten (durchgeführt mit erneuter Probenahme) und bewerte die unausgeglichenen Daten. Betreff: Genauigkeitsparadox, meinst du, dass der Klassifikator möglicherweise nur die dominante Klasse auswählt? Würde das nicht zu einer zufällig aussehenden ROC-Kurve führen? Der "gute" Klassifikator in Ihrem Beispiel hat eine gute Präzision und einen schlechten ROC. Der "gute" Klassifikator in meinem Fall hat das Gegenteil, eine schlechte Präzision, aber einen guten ROC.
R Greg Stacey
Das Auslassen wertvoller Daten ist nicht die richtige Lösung. Dies ist eine verschwenderische Methode, um mit einem Problem umzugehen, das sich aus der Verwendung von Regeln für die Bewertung falscher Genauigkeit ergibt. Darüber hinaus steht die in der ursprünglichen Frage dargelegte vorgeschlagene Strategie im Widerspruch zu einer optimalen Entscheidungsfindung.
Frank Harrell
Wo gibt er an, dass er wertvolle Daten weglässt?
Chris
@Frank Danke für den Kommentar. Was meinst du mit "Verwenden von Regeln für die Bewertung falscher Genauigkeit"? Welche "vorgeschlagene Strategie steht im Widerspruch zur optimalen Entscheidungsfindung"? Meinen Sie damit, Treffer mit einer bestimmten Genauigkeit zu definieren oder etwas anderes?
R Greg Stacey
1
Es reicht nicht aus, ein Modell innerhalb des Business Case zu bewerten. Der Business Case sollte optimal gelöst werden, indem ein optimales Modell erstellt und zusätzlich eine Utility-Funktion zum Treffen von Entscheidungen angewendet wird, nicht indem Schwellenwerte in die Analyse einbezogen werden. Diskontinuierliche Genauigkeitsbewertungen und andere falsche Genauigkeitsbewertungen ermöglichen es, zu behaupten, dass ein falsches (falsches) Modell überlegen ist, und führen dazu, dass man die falschen Merkmale und andere Schäden auswählt, wenn die falsche Genauigkeitsbewertung zum Erstellen des Modells verwendet wird. Die Tatsache, dass @Qroid Daten verworfen hat, ist ein guter Beweis dafür, dass die Genauigkeitsbewertung fehlerhaft ist.
Frank Harrell
1

Ich könnte dies als ein Problem des Klassenungleichgewichts verstehen, da PR-Kurven empfindlich auf Ungleichgewicht reagieren und ROC-Kurven nicht. Das Ungleichgewicht scheint jedoch die einzelnen Merkmale nicht zu beeinträchtigen: Ich kann mit den einzelnen Merkmalen (blau und cyan) eine ziemlich hohe Präzision erzielen.

Darf ich nur darauf hinweisen, dass dies tatsächlich umgekehrt ist: ROC reagiert empfindlich auf Klassenungleichgewichte, während PR robuster ist, wenn es um verzerrte Klassenverteilungen geht. Siehe https://www.biostat.wisc.edu/~page/rocpr.pdf .

Sie zeigen auch, dass "Algorithmen, die den Bereich unter der ROC-Kurve optimieren, nicht garantiert den Bereich unter der PR-Kurve optimieren".

Milad Shahidi
quelle