Alle waren in diesem Second, oder? Starrt auf eine Tabelle, als ob es ein altes Drehbuch wäre und sich fragt, wie wir alles verstehen sollen. Genau so fühlte ich mich, als ich gebeten wurde, die AUC für die ROC -Kurve bei der Arbeit kürzlich zu erklären.

Obwohl ich ein solides Verständnis der Mathematik dahinter hatte und sie in einfache, verdauliche Begriffe als Herausforderung erwies. Mir wurde klar, dass, wenn ich damit zu kämpfen hatte, andere wahrscheinlich auch waren. Daher habe ich beschlossen, diesen Artikel zu schreiben, um eine intuitive Möglichkeit zu teilen, die AUC-ROC-Kurve durch ein praktisches Beispiel zu verstehen. Keine trockenen Definitionen hier – nur klare, einfache Erklärungen, die sich auf die Instinct konzentrieren.

Hier ist das Code1 in diesem Artikel verwendet.

Jeder Datenwissenschaftler durchläuft eine Section der Bewertung von Klassifizierungsmodellen. Inmitten einer Reihe von Bewertungsmetriken, Empfänger -Betriebsmerkmale (ROC) Kurve und die Bereich unter der Kurve (AUC) ist ein unverzichtbares Werkzeug für die Leistung des Modells. In diesem umfassenden Artikel werden wir grundlegende Konzepte diskutieren und sie in Aktion mit unserem guten alten sehen Titanic -Datensatz2.

Abschnitt 1: ROC -Kurve

Im Kern zeigt die ROC -Kurve das empfindliche Gleichgewicht zwischen der Empfindlichkeit und Spezifität eines Modells über unterschiedliche Klassifizierungsschwellen visuell.

Um die ROC -Kurve vollständig zu erfassen, gehen wir mit den Konzepten ein:

  • Sensitivität/Rückruf (wahre optimistic Charge): Die Empfindlichkeit quantifiziert die Angemessenheit eines Modells bei der korrekten Identifizierung positiver Instanzen. In unserem Titanic -Beispiel entspricht die Empfindlichkeit dem Anteil der tatsächlichen Überlebensfälle, die das Modell genau als positiv bezeichnet.
  • Spezifität (wahre detrimental Charge): Die Spezifität misst die Kenntnisse eines Modells bei der korrekten Identifizierung negativer Instanzen. Für unseren Datensatz stellt es den Anteil der tatsächlichen nicht überlebten Fälle (Survival = 0) dar, dass das Modell korrekt als negativ identifiziert wird.
  • Falsche optimistic Charge: FPR misst den Anteil der negativen Instanzen, die durch das Modell falsch als positiv eingestuft werden.

Beachten Sie, dass Spezifität und FPR zueinander ergänzen sind. Während sich die Spezifität auf die richtige Klassifizierung negativer Instanzen konzentriert, konzentriert sich FPR auf die falsche Klassifizierung negativer Instanzen als positiv. Daher-

Nachdem wir die Definitionen kennen, arbeiten wir mit einem Beispiel. Für den titanischen Datensatz habe ich ein einfaches logistisches Regressionsmodell erstellt, das voraussagt, ob der Passagier das Schiffswrack überlebt hat oder nicht, wobei die folgenden Funktionen verwendet werden: Passagierklasse, Intercourse, Anzahl der Geschwister/Ehepartner an Bord, Passagierpreis und Hafen der Einschiffung. Beachten Sie, dass das Modell die „Überlebenswahrscheinlichkeit“ voraussetzt. Die Standardschwelle für die logistische Regression in sklearn beträgt 0,5. Diese Standardschwelle ist jedoch möglicherweise nicht immer sinnvoll, dass das Downside gelöst wird, und wir müssen mit dem Wahrscheinlichkeitsschwellenwert herumspielen.

Lassen Sie uns nun die Definitionen von Sensitivität, Spezifität und FPR über erneutes Maßstäben besuchen. Da unsere vorhergesagte binäre Klassifizierung von der Wahrscheinlichkeitsschwelle abhängt, ändern sich diese drei Metriken für das gegebene Modell anhand des von uns verwendeten Wahrscheinlichkeitsschwellenwerts. Wenn wir einen höheren Wahrscheinlichkeitsschwellenwert verwenden, klassifizieren wir weniger Fälle als optimistic, dh unsere wahren Positiven werden weniger sein, was zu einer geringeren Empfindlichkeit/Rückrufung führt. Eine höhere Wahrscheinlichkeitsschwelle bedeutet auch weniger falsch optimistic Aspekte, so niedrige FPR. Daher könnte eine zunehmende Empfindlichkeit/Rückruf zu erhöhtem FPR führen.

Für unsere Trainingsdaten verwenden wir 10 verschiedene Wahrscheinlichkeitsabschlüsse und berechnen die Empfindlichkeit/TPR und FPR und das Diagramm in einer Tabelle unten. Beachten Sie, dass die Größe der Kreise im Streudiagramm dem für die Klassifizierung verwendeten Wahrscheinlichkeitsschwellenwert entspricht.

Diagramm 1: FPR gegen TPR -Diagramm zusammen mit den tatsächlichen Werten im DataFrame (Bild des Autors)

Nun, das struggle’s. Das Diagramm, das wir oben erstellt haben, Diagrammsensitivität (TPR) Vs. FPR bei verschiedenen Wahrscheinlichkeitsschwellen ist die ROC -Kurve!

In unserem Experiment verwendeten wir 10 verschiedene Wahrscheinlichkeitsabschnitte mit einem Inkrement von 0,1, was uns 10 Beobachtungen ergibt. Wenn wir ein kleineres Inkrement für den Wahrscheinlichkeitsschwellenwert verwenden, werden wir mehr Datenpunkte erhalten und der Diagramm sieht wie unsere vertraute ROC -Kurve aus.

Um unser Verständnis zu bestätigen, werden wir für das Modell, das wir zur Vorhersage des Überlebens des Passagiers erstellt haben (Siehe Code -Snippet unten). Zeichnen Sie die Ergebnisse in einem Diagramm und vergleichen Sie dieses Diagramm mit der ROC -Kurve, die mit Sklearns aufgetragen wurde roc_curve3 .

Diagramm 2: Sklearn ROC -Kurve hyperlinks und manuell erstellt die ROC -Kurve rechts (Bild vom Autor)

Wie wir sehen können, sind die beiden Kurven nahezu identisch. Beachten Sie die AUC = 0,92 wurde unter Verwendung der berechnet roc_auc_score4 Funktion. Wir werden diese AUC im späteren Teil dieses Artikels diskutieren.

Zusammenfassend lässt sich sagen, dass die ROC -Kurve TPR und FPR für das Modell bei verschiedenen Wahrscheinlichkeitsschwellenwerken darstellt. Beachten Sie, dass die tatsächlichen Wahrscheinlichkeiten sind Nicht angezeigt Im Diagramm kann jedoch annehmen, dass die Beobachtungen auf der unteren linken Seite der Kurve höheren Wahrscheinlichkeitsschwellen (niedrigem TPR) und Beobachtung auf der oberen rechten Seite entsprechen niedrigeren Wahrscheinlichkeitsschwellen (hoher TPR).

Um sich zu visualisieren, was oben angegeben ist, finden Sie in der folgenden Tabelle, in der ich versucht habe, TPR und FPR bei verschiedenen Wahrscheinlichkeitsabschnitten zu kommentieren.

Diagramm 3: ROC -Kurve mit unterschiedlichen Wahrscheinlichkeitsabschnitten (Bild des Autors)

Abschnitt 2: AUC

Nachdem wir nun eine gewisse Instinct darüber entwickelt haben, was die ROC -Kurve ist, ist der nächste Schritt zu verstehen Bereich unter der Kurve (AUC). Bevor wir uns jedoch mit den Einzelheiten befassen, sollten wir darüber nachdenken, wie ein perfekter Klassifikator aussieht. Im idealen Fall möchten wir, dass das Modell eine perfekte Trennung zwischen positiven und negativen Beobachtungen erzielt. Mit anderen Worten, das Modell weist detrimental Beobachtungen und hohen Wahrscheinlichkeiten für optimistic Beobachtungen ohne Überlappung niedrige Wahrscheinlichkeiten zu. Daher wird es eine gewisse Wahrscheinlichkeitsabschnitt bestehen, so dass alle Beobachtungen mit vorhergesagter Wahrscheinlichkeit = abgeschnitten sind. In diesem Fall beträgt die wahre optimistic Charge 1 und die falsch optimistic Charge 0. Der ideale Zustand ist additionally TPR = 1 und FPR = 0. In Wirklichkeit geschieht dies nicht, und eine praktischere Erwartung sollte sein, TPR zu maximieren und FPR zu minimieren.

Im Allgemeinen steigt das FPR mit zunehmender TPR mit einer Senkung der Wahrscheinlichkeitsschwelle an (Siehe Diagramm 1). Wir möchten, dass TPR viel höher ist als FPR. Dies ist durch die ROC -Kurve gekennzeichnet, die nach der oberen linken Seite gebeugt ist. Das folgende ROC -Area -Diagramm zeigt den perfekten Klassifizierer mit einem blauen Kreis (TPR = 1 und FPR = 0). Modelle, die die ROC -Kurve näher am blauen Kreis bringen, sind besser. Intuitiv bedeutet dies, dass das Modell in der Lage ist, detrimental und optimistic Beobachtungen ziemlich zu trennen. Unter den ROC -Kurven in der folgenden Tabelle wird Hellblau am besten von Grün und Orange gefolgt. Die gestrichelte diagonale Linie repräsentiert zufällige Vermutungen (denken Sie an einen Münzflip).

Diagramm 4: ROC -Kurvenvergleich (Quelle5)

Nachdem wir die ROC -Kurven, die nach oben hyperlinks verzerrt sind, besser sind, wie quantifizieren wir das? Mathematisch kann dies durch Berechnung der Fläche unter der Kurve quantifiziert werden. Die Fläche unter der Kurve (AUC) der ROC -Kurve liegt immer zwischen 0 und 1, da unser ROC -Raum auf beiden Achsen zwischen 0 und 1 begrenzt ist. Unter den oben genannten ROC -Kurven ist das Modell, das der hellblauen ROC -Kurve entspricht, im Vergleich zu Grün und Orange besser, da es höhere AUC aufweist.

Aber wie wird AUC berechnet? Bei der Rechenung beinhaltet AUC die Integration der Roc Kurve. Für Modelle, die diskrete Vorhersagen erzeugen, kann AUC unter Verwendung der angenähert werden Trapez -Herrschaft6. In ihrer einfachsten Type bewirkt die Trapez -Regel, indem sie den Bereich unter der Grafik als Trapez annähert und ihre Fläche berechnet. Ich werde dies wahrscheinlich in einem anderen Artikel diskutieren.

Dies bringt uns zum letzten und am meisten erwarteten Teil – wie kann man intuitiv ein Sinn für AUC ergeben? Nehmen wir an, Sie haben eine erste Model eines Klassifizierungsmodells mit AUC 0.7 erstellt und später das Modell einstellen. Das überarbeitete Modell hat eine AUC von 0,9. Wir verstehen, dass das Modell mit höherem AUC besser ist. Aber was bedeutet es wirklich? Was bedeutet es über unsere verbesserte Vorhersagekraft? Warum ist es wichtig? Nun, es gibt eine Menge Literatur, die AUC und seine Interpretation erklärt. Einige von ihnen sind zu technisch, andere unvollständig und andere sind völlig falsch! Eine Interpretation, die für mich den Sinn machte, ist:

AUC ist die Wahrscheinlichkeit, dass eine zufällig ausgewählte optimistic Instanz über eine höhere vorhergesagte Wahrscheinlichkeit verfügt als eine zufällig ausgewählte detrimental Instanz.

Überprüfen wir diese Interpretation. Für die einfache logistische Regression, die wir gebaut haben, werden wir die vorhergesagten Wahrscheinlichkeiten positiver und negativer Klassen visualisieren (dh das Schiffswrack überlebt oder nicht).

Diagramm 5: vorhergesagte Wahrscheinlichkeiten der überlebten und nicht überlebten Passagiere (Bild des Autors)

Wir können sehen, dass das Modell eine höhere Wahrscheinlichkeit für überlebte Fälle zugewiesen hat als diejenigen, die dies nicht taten. Es gibt einige Überschneidungen der Wahrscheinlichkeiten im mittleren Abschnitt. Der AUC mit dem berechneten auc rating Funktion in sklearn für unser Modell im Testdatensatz ist 0,92 (Siehe Diagramm 2). Basierend auf der obigen Interpretation von AUC, wenn wir zufällig eine optimistic Instanz und eine detrimental Instanz wählen ~ 92%.

Zu diesem Zweck werden wir Swimming pools mit vorhergesagten Wahrscheinlichkeiten positiver und negativer Ergebnisse erstellen. Jetzt wählen wir zufällig eine Beobachtung von jeweils beiden Swimming pools aus und vergleichen ihre vorhergesagten Wahrscheinlichkeiten. Wir wiederholen diese 100K -Zeiten. Später berechnen wir % der vorhergesagten Wahrscheinlichkeit einer positiven Instanz – die Wahrscheinlichkeit einer negativen Instanz. Wenn unsere Interpretation korrekt ist, sollte dies gleich sein.

Wir haben in der Tat 0,92 bekommen! Hoffe das hilft.

Lassen Sie mich Ihre Kommentare wissen und können Sie sich gerne mit mir verbinden LinkedIn.

Notiz – Dieser Artikel wird überarbeitet Originalartikel dass ich 2023 auf Medium geschrieben habe.


Referenzen:

  1. https://github.com/swpnilsp/roc-auc-curve/blob/major/roc_curve_analysispercent20(2).ipynb
  2. https://www.kaggle.com/competitions/titanic/information (Lizenz-CC0: Öffentlich zugängliche)
  3. https://scikit-learn.org/secure/modules/generated/sklearn.metrics.roc_curve.html#sklearn.metrics.roc_curve
  4. https://scikit-learn.org/secure/modules/generated/sklearn.metrics.roc_auc_score.html
  5. https://en.wikipedia.org/wiki/Receiver_operating_characteristic
  6. https://en.wikipedia.org/wiki/Tripezoidal_rule

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert