Vorteile von ROC-Kurven

15

Was sind die Vorteile der ROC-Kurven?

Zum Beispiel klassifiziere ich einige Bilder, was ein binäres Klassifizierungsproblem ist. Ich extrahierte ungefähr 500 Merkmale und wendete einen Merkmalsauswahlalgorithmus an, um einen Satz von Merkmalen auszuwählen, dann wendete ich SVM zur Klassifizierung an. Wie kann ich in diesem Fall eine ROC-Kurve erhalten? Sollte ich die Schwellenwerte meines Funktionsauswahlalgorithmus ändern und die Empfindlichkeit und Spezifität der Ausgabe erhalten, um eine ROC-Kurve zu zeichnen?

Was ist in meinem Fall der Zweck, eine ROC-Kurve zu erstellen?

user570593
quelle
2
"Eine Einführung in die ROC-Analyse" von Tom Fawcett hat mir geholfen, die ROC-Kurven besser zu verstehen. Es könnte Ihnen gefallen, wenn Sie zusätzliche Literatur zum Thema suchen.
Alexander
Okay, aber was würden Sie tun, um zwei Klassifikatoren zu vergleichen? Wenn sie Schwellenwerte verwenden, so dass weder Spezifität noch Sensitivität sehr genau übereinstimmen, ist es meiner Meinung nach nicht einfach zu vergleichen, ohne mehr Punkte auf der ROC zu betrachten.
Michael R. Chernick
Es ist selten angebracht, Klassifikatoren zu entwickeln, und Klassifizierungsfehler sind eine falsche Bewertungsregel. Es gibt viele leistungsstarke Methoden zum Vergleichen der Qualität echter Vorhersagen. Sie sind intuitiver als ROC-Kurven. Siehe zum Beispiel dies .
Frank Harrell

Antworten:

13

Viele binäre Klassifizierungsalgorithmen berechnen eine Art Klassifizierungsbewertung (manchmal, aber nicht immer, ist dies eine Wahrscheinlichkeit, im Zielzustand zu sein) und klassifizieren basierend darauf, ob die Bewertung über einem bestimmten Schwellenwert liegt oder nicht. Durch Betrachten der ROC-Kurve können Sie den Kompromiss zwischen Empfindlichkeit und Spezifität für alle möglichen Schwellenwerte und nicht nur für den von der Modellierungstechnik ausgewählten sehen. Unterschiedliche Klassifizierungsziele können dazu führen, dass ein Punkt auf der Kurve für eine Aufgabe geeigneter und ein anderer Punkt für eine andere Aufgabe geeigneter ist. Die Betrachtung der ROC-Kurve ist daher eine Möglichkeit, das Modell unabhängig von der Wahl eines Schwellenwerts zu bewerten.

Michael McGowan
quelle
Danke für Ihre Antwort. Es ist wirklich nützlich. Anhand der ROC-Kurve gibt es sowieso die Schwelle zu bestimmen? Und wie kann ich in meinem Fall einen Punkt im ROC-Raum für Sensitivität = 100% oder Spezifität = 100% erhalten? weil ich die Schwelle des Merkmalsauswahlalgorithmus ändere.
user570593
1
Die ROC-Kurve zeigt Ihnen Empfindlichkeit und Spezifität bei allen möglichen Schwellenwerten. Wenn Sie also einen Punkt finden, der den richtigen Kompromiss darstellt, können Sie den Schwellenwert für diesen Punkt auf der Kurve auswählen.
Michael McGowan
Gibt es eine automatische Möglichkeit, den richtigen Kompromiss auszuwählen, oder sollte ich den Kompromiss selbst auswählen? Und wie kann ich in meinem Fall einen Punkt im ROC-Raum für Sensitivität = 100% oder Spezifität = 100% erhalten? weil ich die Schwelle des Merkmalsauswahlalgorithmus ändere.
user570593
2
Wenn Sie ein genau definiertes Kriterium haben (zum Beispiel die Maximierung der Präzision), kann dies automatisiert werden. Aber ein guter Kompromiss für ein Problem könnte für ein anderes mies sein.
Michael McGowan
2
Eine Sensitivität oder Spezifität von 100% kann trivialerweise erreicht werden, indem Sie Ihren Schwellenwert auf den minimalen oder maximalen Wert einstellen ... ist das wirklich das, was Sie wollen?
Michael McGowan
11

ROC-Kurven sind in 99% der Fälle, die ich in den letzten Jahren gesehen habe, nicht aussagekräftig. Sie scheinen für viele Statistiker und noch mehr Praktiker des maschinellen Lernens obligatorisch zu sein. Und stellen Sie sicher, dass Ihr Problem wirklich ein Klassifizierungsproblem und kein Risikoeinschätzungsproblem ist. Das Herzstück von Problemen mit ROC-Kurven ist, dass sie Benutzer auffordern, Grenzwerte für kontinuierliche Variablen zu verwenden, und Rückwärtswahrscheinlichkeiten verwenden, dh Wahrscheinlichkeiten von Ereignissen, die in umgekehrter zeitlicher Reihenfolge (Empfindlichkeit und Spezifität) vorliegen. ROC-Kurven können nicht verwendet werden, um optimale Kompromisse zu finden, außer in sehr speziellen Fällen, in denen Benutzer einer Entscheidungsregel ihre Verlustfunktion (Kosten; Nutzen) für den Analysten aufgeben.

Frank Harrell
quelle
Ich stimme Frank nicht ganz zu. Ich denke, die Verwendung der AUC des ROC ist oft ein Problem. Aber qualitativ halte ich es für hilfreich, Algorithmen zu vergleichen. Es ist bei weitem nicht so aussagekräftig, nur die Spezifität und Sensibilität an einem Punkt zu betrachten. Ich bin mir auch nicht sicher, ob seine Antwort die Frage wirklich anspricht, da das OP in seinem Fall wirklich wissen möchte, warum es in die 99% nicht informativen Fälle oder die 1%, die informativ sind, fällt.
Michael R. Chernick
R2
R2
1
@FrankHarrell Aber wie kann man zwei Algorithmen vergleichen, wenn sie in Bezug auf Spezifität und Empfindlichkeit nicht sehr genau übereinstimmen?
Michael R. Chernick
7
R2χ2R2
1

Nach dem Erstellen einer ROC-Kurve kann die AUC (Fläche unter der Kurve) berechnet werden. Die AUC gibt die Genauigkeit des Tests über viele Schwellenwerte hinweg an. AUC = 1 bedeutet, dass der Test perfekt ist. AUC = 0,5 bedeutet, dass die Binärklassifizierung zufällig ausgeführt wird.

Wenn es mehrere Modelle gibt, bietet die AUC eine einzige Messung zum Vergleich zwischen verschiedenen Modellen. Es gibt immer Kompromisse mit einer einzelnen Maßnahme, aber die AUC ist ein guter Anfang.

Brian Spiering
quelle
1
Ich denke, das ist gefährliches Denken. Die AUROC ist IMHO nur deshalb sinnvoll, weil in der BinärdateiY. In diesem Fall entspricht es der Konkordanzwahrscheinlichkeit (c-Index; Wilcoxon-Statistik; SomersDxyRangkorrelationskoeffizient). Das Zeichnen des gesamten ROC führt zu dichotomem Denken.
Frank Harrell
0

Die AUC vergleicht keine realen mit den vorhergesagten Klassen. Dabei geht es nicht um die vorhergesagte Klasse, sondern um den Vorhersagewert oder die Wahrscheinlichkeit. Sie können die Vorhersage der Klasse durchführen, indem Sie auf diese Punktzahl einen Cutoff anwenden. Beispielsweise wird jede Stichprobe, die eine Punktzahl unter 0,5 aufweist, als negativ eingestuft. Aber der ROC kommt, bevor das passiert. Es wird mit den Scores / Klassenwahrscheinlichkeiten gearbeitet.

Es nimmt diese Bewertungen und sortiert alle Proben nach dieser Bewertung. Wenn Sie nun eine positive Probe finden, erhöht sich die ROC-Kurve (entlang der y-Achse). Immer wenn Sie eine negative Probe finden, bewegen Sie sich nach rechts (entlang der x-Achse). Wenn diese Punktzahl für die beiden Klassen unterschiedlich ist, stehen (normalerweise) die positiven Stichproben an erster Stelle. Das bedeutet, dass Sie mehr Schritte nach oben als nach rechts machen. Weiter unten in der Liste werden die negativen Samples angezeigt, sodass Sie sich nach links bewegen. Wenn Sie die gesamte Probenliste durchlaufen haben, erreichen Sie die Koordinate (1,1), die 100% der positiven und 100% der negativen Proben entspricht.

Wenn die Punktzahl die positiven von den negativen Proben perfekt trennt, bewegen Sie sich von (x = 0, y = 0) nach (1,0) und dann von dort nach (1, 1). Die Fläche unter der Kurve ist also 1.

Wenn Ihre Punktzahl für positive und negative Stichproben die gleiche Verteilung aufweist, sind die Wahrscheinlichkeiten, eine positive oder negative Stichprobe in der sortierten Liste zu finden, gleich und daher sind die Wahrscheinlichkeiten, sich in der ROC-Kurve nach oben oder links zu bewegen, gleich. Das ist der Grund, warum Sie sich entlang der Diagonale bewegen, weil Sie sich im Wesentlichen nach oben und links bewegen, nach oben und links und so weiter ... was einen AROC-Wert von ungefähr 0,5 ergibt.

Bei einem unausgeglichenen Datensatz unterscheidet sich die Schrittweite. Sie machen also kleinere Schritte nach links (wenn Sie mehr negative Samples haben). Deshalb ist die Punktzahl mehr oder weniger unabhängig vom Ungleichgewicht.

Mit der ROC-Kurve können Sie also visualisieren, wie Ihre Stichproben getrennt sind, und der Bereich unter der Kurve kann eine sehr gute Metrik sein, um die Leistung eines binären Klassifizierungsalgorithmus oder einer beliebigen Variablen zu messen, die zum Trennen von Klassen verwendet werden kann.

enter image description here

Die Abbildung zeigt die gleichen Verteilungen mit unterschiedlichen Stichprobengrößen. Der schwarze Bereich zeigt, wo ROC-Kurven von Zufallsmischungen aus positiven und negativen Proben zu erwarten wären.

Sören
quelle
Diese Grafiken bieten keine Einsicht und weisen ein außergewöhnlich hohes Ink: Information Ratio auf. Halten Sie sich an die
Frank Harrell
In diesen Diagrammen sind weitaus mehr Informationen enthalten als in einem einzelnen eindimensionalen Genauigkeitswert. Die gleiche Punktzahl kann aus vielen verschiedenen Verteilungen stammen. Haben Sie eine frühe Erkennung? Haben Sie mehrere Klassen positiver Proben, die sich unterschiedlich verhalten? Ist Ihr Ergebnis statistisch signifikant? All diese Fragen lassen sich anhand dieser Grafiken leicht beantworten und können nicht mit einer einzigen Genauigkeitsbewertung beantwortet werden.
Sören
Ich bezweifle ernsthaft, dass Verbraucher und Analysten Einblicke in diese Kurven erhalten, die annähernd so intuitiv sind wie die Darstellung einer Kalibrierungskurve, die mit einem hochauflösenden Histogramm überlagert ist, das die vorhergesagten Werte anzeigt. Und jeder Punkt auf der ROC-Kurve ist eine falsche Genauigkeitsbewertung.
Frank Harrell
Anfänger haben oft Schwierigkeiten, diese Kurven zu verstehen. Daher würde ich nicht unbedingt empfehlen, es den Verbrauchern zu zeigen, um für Ihr Produkt zu werben. Ich denke, da willst du etwas, das einfacher ist. Die Kurve ist jedoch mehr als die einzelnen Punkte.
Sören