Im vorherigen Abschnitt wurde eine Reihe von Modellmesswerten vorgestellt, die alle zu einem Klassifizierungsschwellenwert zu ermitteln. Wenn Sie jedoch eine Modellqualität über alle möglichen Schwellenwerte hinweg, benötigen Sie verschiedene Tools.
Grenzwertoptimierungskurve (Receiver Operating Curve, ROC)
ROC-Kurve ist eine visuelle Darstellung der Modellleistung über alle Schwellenwerte hinweg. Die lange Version des Namens, Receiver Operating Curve, ist ein Holdover. von der Radarerkennung aus dem Zweiten Weltkrieg.
Die ROC-Kurve wird durch Berechnung der echt positiven Rate (TPR) gezeichnet. und Falsch-Positiv-Rate (FPR) bei jedem möglichen Schwellenwert (praktisch ausgewählten Intervallen) und stellt dann den TPR über den FPR grafisch dar. Ein perfektes Modell, bei einem Grenzwert von 1,0 und einem FPR von 0,0 entweder durch einen Punkt (0, 1), wenn alle anderen Grenzwerte ignoriert werden, oder durch Folgendes:
![Abbildung 1: Diagramm der TPR (y-Achse) und des FPR (x-Achse) mit
Leistung eines perfekten Modells: eine Linie von (0,1) bis (1,1).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_1-0.png?authuser=6&hl=de)
Fläche unter der Kurve (AUC)
Der Bereich unter der ROC-Kurve (AUC) stellt die Wahrscheinlichkeit dar, dass das Modell, bei einem zufällig gewählten positiven und negativen Beispiel höher als der negative.
Das perfekte Modell oben mit einem Quadrat mit Seiten der Länge 1 hat ein Fläche unter der Kurve (AUC) von 1,0. Das heißt, es gibt eine Wahrscheinlichkeit von 100 %, stuft das Modell ein zufällig ausgewähltes positives Beispiel korrekt ein zufällig ausgewähltes negatives Beispiel. Mit anderen Worten: Die Betrachtung der Datenpunkten darunter gibt, gibt AUC die Wahrscheinlichkeit an, dass das Modell zufällig gewähltes Quadrat rechts neben einem zufällig gewählten Kreis, unabhängig von bei dem der Grenzwert festgelegt wird.
Ein Spam-Klassifikator mit AUC 1,0 weist einer zufälligen Spam-E-Mail immer eine höhere Wahrscheinlichkeit zu, als legitime E-Mails. Die tatsächliche Klassifizierung der einzelnen E-Mail-Adressen vom ausgewählten Schwellenwert ab.
Bei einem binären Klassifikator kann ein Modell „Münzenwerfen“ hat einen ROC, der eine diagonale Linie von (0,0) bis (1,1) ist. Die AUC ist 0,5, was mit einer 50% igen Wahrscheinlichkeit für die korrekte Platzierung eines zufälligen positiven und negatives Beispiel.
Im Spamklassifikatorbeispiel weist ein Spamklassifikator mit einer AUC von 0, 5 eine zufällige Spam-E-Mail mit höherer Wahrscheinlichkeit als Spam nur in der Hälfte der Fälle legitim sind.
![Abbildung 2. Diagramm der TPR (y-Achse) und des FPR (x-Achse) mit
Leistung eines zufälligen 50- bis 50-Erratenden: eine diagonale Linie von (0,0)
bis (1,1).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-5.png?authuser=6&hl=de)
(Optional, erweitert) Precision-/Recall-Kurve
AUC und ROC eignen sich gut zum Vergleich von Modellen, wenn das Dataset ungefähr zwischen Klassen ausgewogen zu sein. Wenn das Dataset unausgewogen ist, und die Fläche unter diesen Kurven können einen besseren Vergleich Visualisierung der Modellleistung. Genauigkeits-/Trefferquotenkurven entstehen durch die Darstellung der Genauigkeit auf der Y-Achse und die Trefferquote auf der X-Achse über alle Schwellenwerten.
![Beispiel für eine Genauigkeits-/Trefferquotenkurve mit einer konvex abwärts gerichteten Kurve von (0,1)
bis (1,0)](https://developers.google.cn/static/machine-learning/crash-course/images/prauc.png?authuser=6&hl=de)
AUC und ROC für die Auswahl von Modell und Grenzwert
AUC ist ein nützliches Maß für den Vergleich der Leistung zweier verschiedener Modelle, vorausgesetzt, das Dataset ist grob ausgewogen. Siehe Precision-/Recall-Kurve für unausgeglichene Datasets.) Das Modell mit größerer Fläche unter ist die Kurve in der Regel besser.
<ph type="x-smartling-placeholder">![Abbildung 3.a. ROC/AUC-Diagramm eines Modells mit AUC=0,65.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-65.png?authuser=6&hl=de)
![Abbildung 3.b: ROC/AUC-Diagramm eines Modells mit AUC=0,93.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-93.png?authuser=6&hl=de)
Die Punkte auf einer ROC-Kurve, die (0,1) am nächsten sind, stellen einen Bereich von die Schwellenwerte für die beste Leistung für das jeweilige Modell. Wie in den Schwellenwerte, Wahrheitsmatrix und Auswahl des Messwerts und Vor- und Nachteile ist der ausgewählte Grenzwert davon abhängig, welcher Messwert für den konkreten Anwendungsfall. Betrachten Sie die Punkte A, B und C in den folgenden Diagramm, die jeweils einen Schwellenwert darstellen:
![Abbildung 4: Eine ROC-Kurve von AUC=0,84, die drei Punkte auf der
konvexer Teil der Kurve, die (0,1) am nächsten liegt, mit der Beschriftung A, B und C.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_abc.png?authuser=6&hl=de)
Wenn falsch-positive Alarme (Fehlalarme) sehr kostspielig sind, kann es sinnvoll sein, einen Grenzwert auswählen, der einen niedrigeren FPR bietet, z. B. den Punkt A, selbst wenn reduziert. Umgekehrt, wenn falsch positive Ergebnisse billig und falsch negative Ergebnisse (richtig positive Ergebnisse verpasst) sehr kostspielig, der Grenzwert für Punkt C, maximiert den TPR. Wenn die Kosten ungefähr gleich sind, Punkt B die beste Balance zwischen TPR und FPR bieten.
Hier ist die ROC-Kurve für die bereits bekannten Daten:
Übung: Wissenstest
![ROC-Kurve, die von (0,0) nach oben und dann nach rechts verläuft
(1,1). Die Kurve hat eine AUC von 0,77.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-77.png?authuser=6&hl=de)
![ROC-Kurve, die annähernd eine gerade Linie von (0,0) nach
(1, 1) mit ein paar Zickzacklinien. Die Kurve hat eine AUC von 0,508.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-508.png?authuser=6&hl=de)
![ROC-Kurve, die von (0,0) bis (1,1) im Zickzack nach oben und rechts verläuft.
Die Kurve hat eine AUC von 0,623.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-623.png?authuser=6&hl=de)
![ROC-Kurve, die nach rechts und dann nach oben verläuft
(0,0) bis (1,1). Die Kurve hat eine AUC von 0,31.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-31.png?authuser=6&hl=de)
![ROC-Kurve, die nach rechts und dann nach oben verläuft
(0,0) bis (1,1). Die Kurve hat eine AUC von 0,32.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-32.png?authuser=6&hl=de)
![ROC-Kurve, die annähernd eine gerade Linie von der
(0,0) nach (1,1) mit ein paar Zickzacklinien. Die Kurve hat ein
AUC von 0,508.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-508.png?authuser=6&hl=de)
![ROC-Kurve, die eine diagonale gerade Linie von der
(0,0) bis (1,1). Die Kurve hat eine AUC von 0,5.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-5.png?authuser=6&hl=de)
![ROC-Kurve, die aus zwei senkrechten Linien besteht: einer vertikalen
Linie von (0,0) nach (0,1) und eine horizontale Linie von (0,1) nach (1,1).
Diese Kurve hat eine AUC von 1,0.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_1-0.png?authuser=6&hl=de)
(Optional, erweitert) Bonusfrage
Stellen Sie sich eine Situation vor, in der es besser ist, Spam zu überlassen, geschäftskritische E-Mails in den Spamordner verschieben. Sie haben ein Spam-Klassifikator für diese Situation trainiert, in der die positive Klasse und die negative Klasse ist kein Spam. Welcher der folgenden Punkte auf der ROC-Kurve für Ihren Klassifikator vorzuziehen ist.
![Eine ROC-Kurve von AUC=0,84, die drei Punkte auf dem konvexen Teil von
die Kurve, die nahe bei (0,1) liegt. Punkt A befindet sich bei ungefähr
(0,25; 0,75). Punkt B liegt ungefähr bei (0, 30; 0,90) und ist
den Punkt, an dem der
TPR maximiert und der
FPR minimiert wird. Punkt
C liegt ungefähr bei (0,4, 0,95).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_abc.png?authuser=6&hl=de)