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?
machine-learning
roc
user570593
quelle
quelle
Antworten:
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.
quelle
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.
quelle
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.
quelle
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.
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.
quelle