So berechnen sie die ausgewogene präzision in python mit sklearn
Ausgewogene Genauigkeit ist eine Metrik, mit der wir die Leistung eines Klassifizierungsmodells bewerten können.
Es wird wie folgt berechnet:
Ausgewogene Genauigkeit = (Sensitivität + Spezifität) / 2
Gold:
- Sensitivität : Die „wahre positive Rate“ – der Prozentsatz der positiven Fälle, die das Modell erkennen kann.
- Spezifität : Die „echte Negativrate“ – der Prozentsatz der negativen Fälle, die das Modell erkennen kann.
Diese Metrik ist besonders nützlich, wenn die beiden Klassen unausgeglichen sind, das heißt, eine Klasse erscheint viel häufiger als die andere.
Angenommen, ein Sportanalyst verwendet ein logistisches Regressionsmodell , um vorherzusagen, ob 400 verschiedene College-Basketballspieler in die NBA eingezogen werden oder nicht.
Die folgende Verwirrungsmatrix fasst die vom Modell getroffenen Vorhersagen zusammen:
Um die ausgewogene Genauigkeit des Modells zu berechnen, berechnen wir zunächst die Sensitivität und Spezifität:
- Empfindlichkeit : Die „wahre positive Rate“ = 15 / (15 + 5) = 0,75
- Spezifität : Die „echte Negativrate“ = 375 / (375 + 5) = 0,9868
Wir können dann die ausgeglichene Präzision wie folgt berechnen:
- Ausgewogene Genauigkeit = (Sensitivität + Spezifität) / 2
- Ausgewogene Genauigkeit = (0,75 + 9868) / 2
- Ausgewogene Genauigkeit = 0,8684
Die ausgeglichene Genauigkeit des Modells beträgt 0,8684 .
Das folgende Beispiel zeigt, wie die ausgeglichene Genauigkeit für dieses spezielle Szenario mithilfe der Funktion Balanced_accuracy_score() aus der sklearn- Bibliothek in Python berechnet wird.
Beispiel: Berechnung der ausgewogenen Präzision in Python
Der folgende Code zeigt, wie man ein Array vorhergesagter Klassen und ein Array tatsächlicher Klassen definiert und dann die ausgewogene Genauigkeit eines Modells in Python berechnet:
import numpy as np from sklearn. metrics import balanced_accuracy_score #define array of actual classes actual = np. repeat ([1, 0], repeats=[20, 380]) #define array of predicted classes pred = np. repeat ([1, 0, 1, 0], repeats=[15, 5, 5, 375]) #calculate balanced accuracy score balanced_accuracy_score(actual, pred) 0.868421052631579
Die ausgewogene Präzision beträgt 0,8684 . Dies entspricht dem Wert, den wir zuvor manuell berechnet haben.
Hinweis : Die vollständige Dokumentation zur Funktion Balanced_accuracy_score() finden Sie hier .
Zusätzliche Ressourcen
Eine Einführung in die ausgewogene Genauigkeit
So führen Sie eine logistische Regression in Python durch
So berechnen Sie den F1-Score in Python