Klassifizierung: ROC und AUC

Im vorherigen Abschnitt wurden eine Reihe von Modellmesswerten vorgestellt, die alle mit einem einzigen Klassifizierungsgrenzwert berechnet wurden. Wenn Sie die Qualität eines Modells jedoch für alle möglichen Grenzwerte bewerten möchten, benötigen Sie andere Tools.

Grenzwertoptimierungskurve (Receiver Operating Curve, ROC)

Die ROC-Kurve ist eine visuelle Darstellung der Modellleistung über alle Schwellenwerte hinweg. Die lange Version des Namens, „Receiver Operating Characteristic“, stammt aus der Radarerkennung des Zweiten Weltkriegs.

Die ROC-Kurve wird gezeichnet, indem die Richtig-Positiv-Rate (TPR) und die Falsch-Positiv-Rate (FPR) bei jedem möglichen Schwellenwert berechnet werden (in der Praxis in ausgewählten Intervallen) und dann die TPR über die FPR dargestellt wird. Ein perfektes Modell, das bei einem bestimmten Schwellenwert eine TPR von 1,0 und eine FPR von 0,0 hat, kann entweder durch einen Punkt bei (0, 1) dargestellt werden, wenn alle anderen Schwellenwerte ignoriert werden, oder durch Folgendes:

Abbildung 1: Ein Diagramm mit der TPR (y-Achse) im Vergleich zur FPR (x-Achse), das die Leistung eines perfekten Modells zeigt: eine Linie von (0,1) nach (1,1).
Abbildung 1. ROC und AUC eines hypothetischen perfekten Modells.

Fläche unter der Kurve (AUC)

Der Bereich unter der ROC-Kurve (AUC) entspricht der Wahrscheinlichkeit, dass das Modell ein zufällig ausgewähltes positives Beispiel höher als ein negatives Beispiel einstuft.

Das perfekte Modell oben, das ein Quadrat mit Seitenlänge 1 enthält, hat eine Fläche unter der Kurve (AUC) von 1,0. Das bedeutet, dass das Modell mit einer Wahrscheinlichkeit von 100% ein zufällig ausgewähltes positives Beispiel korrekt höher als ein zufällig ausgewähltes negatives Beispiel einordnet. Mit anderen Worten: Die AUC gibt die Wahrscheinlichkeit an, dass das Modell ein zufällig ausgewähltes Quadrat rechts neben einem zufällig ausgewählten Kreis platziert, unabhängig davon, wo der Grenzwert festgelegt ist.

Widget-Datenlinie ohne Schieberegler

Konkreter ausgedrückt: Ein Spamfilter mit einer AUC von 1,0 weist einer zufälligen Spam-E-Mail immer eine höhere Wahrscheinlichkeit zu, Spam zu sein, als einer zufälligen legitimen E-Mail. Die tatsächliche Klassifizierung der einzelnen E-Mails hängt vom ausgewählten Grenzwert ab.

Bei einem binären Klassifikator hat ein Modell, das genau so gut abschneidet wie zufällige Vermutungen oder Münzwürfe, eine ROC-Kurve, die eine diagonale Linie von (0,0) nach (1,1) ist. Der AUC ist 0,5, was einer Wahrscheinlichkeit von 50% entspricht, ein zufälliges positives und negatives Beispiel richtig zu klassifizieren.

Im Beispiel für den Spamfilter weist ein Spamfilter mit einer AUC von 0,5 einer zufälligen Spam-E‑Mail nur in der Hälfte der Fälle eine höhere Wahrscheinlichkeit zu, Spam zu sein, als einer zufälligen legitimen E‑Mail.

Abbildung 2. Ein Diagramm mit der TPR (y-Achse) im Vergleich zur FPR (x-Achse), das die Leistung eines zufälligen Raters mit 50 % Wahrscheinlichkeit zeigt: eine diagonale Linie von (0,0) nach (1,1).
Abbildung 2. ROC und AUC bei völlig zufälligen Vermutungen

(Optional, fortgeschrittene Nutzer) Precision-Recall-Kurve

AUC und ROC eignen sich gut zum Vergleichen von Modellen, wenn die Datensätze ungefähr ausgewogen zwischen den Klassen verteilt sind. Wenn der Datensatz unausgewogen ist, können Precision-Recall-Kurven (PRCs) und die Fläche unter diesen Kurven eine bessere vergleichende Visualisierung der Modellleistung bieten. Genauigkeits-/Trefferquotenkurven werden erstellt, indem die Genauigkeit auf der y-Achse und der Recall auf der x-Achse für alle Grenzwerte dargestellt werden.

Beispiel für eine nach unten konvexe Precision-Recall-Kurve von (0,1) nach (1,0)

AUC und ROC für die Auswahl von Modell und Schwellenwert

Der AUC ist ein nützlicher Messwert, um die Leistung von zwei verschiedenen Modellen zu vergleichen, sofern der Datensatz ungefähr ausgewogen ist. Das Modell mit der größeren Fläche unter der Kurve ist im Allgemeinen das bessere.

Abbildung 3.a. ROC-/AUC-Diagramm eines Modells mit AUC=0,65 Abbildung 3.b. ROC-/AUC-Diagramm eines Modells mit AUC=0,93
Abbildung 3 ROC und AUC von zwei hypothetischen Modellen. Die Kurve rechts mit einer größeren AUC stellt das bessere der beiden Modelle dar.

Die Punkte auf einer ROC-Kurve, die (0,1) am nächsten liegen, stellen einen Bereich der leistungsstärksten Grenzwerte für das jeweilige Modell dar. Wie in den Abschnitten Grenzwerte, Verwirrmatrix und Messwertauswahl und Kompromisse erläutert, hängt der ausgewählte Grenzwert davon ab, welcher Messwert für den jeweiligen Anwendungsfall am wichtigsten ist. Betrachten Sie die Punkte A, B und C im folgenden Diagramm, die jeweils einen Grenzwert darstellen:

Abbildung 4: Eine ROC-Kurve mit AUC=0,84, die drei Punkte auf dem konvexen Teil der Kurve zeigt, die am nächsten an (0,1) liegen.Sie sind der Reihe nach mit A, B und C gekennzeichnet.
Abbildung 4: Drei beschriftete Punkte, die Grenzwerte darstellen

Wenn falsch positive Ergebnisse (Fehlalarme) sehr kostspielig sind, kann es sinnvoll sein, einen Schwellenwert zu wählen, der zu einer niedrigeren FPR führt, wie der bei Punkt A, auch wenn die TPR dadurch sinkt. Umgekehrt ist der Schwellenwert für Punkt C, der die TPR maximiert, möglicherweise vorzuziehen, wenn falsch positive Ergebnisse kostengünstig und falsch negative Ergebnisse (entgangene richtig positive Ergebnisse) sehr teuer sind. Wenn die Kosten ungefähr gleich sind, bietet Punkt B möglicherweise das beste Gleichgewicht zwischen TPR und FPR.

Hier ist die ROC-Kurve für die Daten, die wir bereits kennen:

Übung: Wissen testen

In der Praxis sind ROC-Kurven viel weniger regelmäßig als in den obigen Abbildungen. Welches der folgenden Modelle, dargestellt durch ROC-Kurve und AUC, hat die beste Leistung?
ROC-Kurve, die von (0,0) nach (1,1) nach oben und dann nach rechts geschwungen ist Die Kurve hat einen AUC von 0,77.
Dieses Modell hat die höchste AUC, was der besten Leistung entspricht.
ROC-Kurve, die von (0,0) nach (1,1) ungefähr eine gerade Linie ist, mit einigen Zickzacklinien Die Kurve hat einen AUC von 0,508.
ROC-Kurve, die von (0,0) nach (1,1) im Zickzack nach oben und rechts verläuft.
           Die Kurve hat einen AUC von 0,623.
ROC-Kurve, die von (0,0) nach (1,1) nach rechts und dann nach oben geschwungen ist Die Kurve hat eine AUC von 0,31.
Welches der folgenden Modelle erzielt eine schlechtere Leistung als der Zufall?
ROC-Kurve, die von (0,0) nach (1,1) nach rechts und dann nach oben geschwungen ist. Die Kurve hat eine AUC von 0,32.
Dieses Modell hat eine AUC von unter 0,5, was bedeutet, dass es eine schlechtere Leistung als der Zufall erzielt.
ROC-Kurve, die von (0,0) nach (1,1) ungefähr eine gerade Linie ist, mit einigen Zickzacklinien Die Kurve hat einen AUC von 0,508.
Dieses Modell schneidet etwas besser ab als der Zufall.
Eine ROC-Kurve, die eine diagonale Gerade von (0,0) nach (1,1) ist. Die Kurve hat eine AUC von 0,5.
Dieses Modell erzielt die gleiche Leistung wie der Zufall.
ROC-Kurve, die aus zwei senkrechten Linien besteht: einer vertikalen Linie von (0,0) nach (0,1) und einer horizontalen Linie von (0,1) nach (1,1).
      Diese Kurve hat eine AUC von 1,0.
Dies ist ein hypothetisch perfekter Klassifikator.

(Optional, fortgeschrittene Nutzer) Bonusfrage

Welche der folgenden Änderungen können am Modell aus der vorherigen Frage vorgenommen werden, damit es eine bessere Leistung als der Zufall erzielt?
Kehren Sie die Vorhersagen um, sodass Vorhersagen von 1 zu 0 und Vorhersagen von 0 zu 1 werden.
Wenn ein binärer Klassifikator Beispiele zuverlässig häufiger als zufällig in die falschen Klassen einordnet, werden seine Vorhersagen durch das Ändern des Klassenlabels sofort besser als zufällig, ohne dass das Modell neu trainiert werden muss.
Es soll immer die negative Klasse vorhersagen.
Dies kann die Leistung über den Zufall hinaus verbessern oder auch nicht. Wie im Abschnitt Genauigkeit erläutert, ist dies kein nützliches Modell.
Es soll immer die positive Klasse vorhersagen.
Dies kann die Leistung über den Zufall hinaus verbessern oder auch nicht. Wie im Abschnitt Genauigkeit erläutert, ist dies kein nützliches Modell.

Stellen Sie sich eine Situation vor, in der es besser ist, wenn einige Spam-E-Mails den Posteingang erreichen, als eine geschäftskritische E-Mail in den Spamordner zu verschieben. Sie haben einen Spamfilter für diese Situation trainiert, bei dem die positive Klasse „Spam“ und die negative Klasse „Kein Spam“ ist. Welcher der folgenden Punkte auf der ROC-Kurve für Ihren Klassifikator ist vorzuziehen?

Eine ROC-Kurve mit AUC=0,84 mit drei Punkten im konvexen Teil der Kurve, die nahe bei (0,1) liegen. Punkt A befindet sich ungefähr bei (0,25; 0,75). Punkt B liegt bei etwa (0,30; 0,90) und ist der Punkt, an dem die TPR maximiert und die FPR minimiert wird. Punkt C befindet sich ungefähr bei (0,4; 0,95).
Punkt A
In diesem Anwendungsfall ist es besser, falsch positive Ergebnisse zu minimieren, auch wenn dadurch die Anzahl der richtig positiven Ergebnisse sinkt.
Punkt B
Mit diesem Schwellenwert werden richtige und falsche positive Ergebnisse ausgeglichen.
Punkt C
Bei diesem Schwellenwert werden möglichst viele Spam-E-Mails erkannt, was jedoch zu mehr falsch positiven Ergebnissen führt, also zu mehr legitimen E-Mails, die als Spam gekennzeichnet werden.