So berechnen sie den matthews-korrelationskoeffizienten in python
Der Matthews-Korrelationskoeffizient (MCC) ist eine Metrik, mit der wir die Leistung eines Klassifizierungsmodells bewerten können.
Es wird wie folgt berechnet:
MCC = (TP*TN – FP*FN) / √ (TP+FP)(TP+FN)(TN+FP)(TN+FN)
Gold:
- TP : Anzahl der echten Positiven
- TN : Anzahl der echten Negative
- FP : Anzahl falsch positiver Ergebnisse
- FN : Anzahl falsch negativer Ergebnisse
Diese Metrik ist besonders nützlich, wenn die beiden Klassen unausgeglichen sind, das heißt, eine Klasse erscheint viel häufiger als die andere.
Der Wert von MCC liegt zwischen -1 und 1, wobei:
- -1 zeigt eine völlige Unstimmigkeit zwischen vorhergesagten Klassen und tatsächlichen Klassen an
- 0 bedeutet völlig zufällige Schätzungen
- 1 zeigt eine vollständige Übereinstimmung zwischen vorhergesagten Klassen und tatsächlichen Klassen an
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 den MCC des Modells zu berechnen, können wir die folgende Formel verwenden:
- MCC = (TP*TN – FP*FN) / √ (TP+FP)(TP+FN)(TN+FP)(TN+FN)
- MCC = (15*375-5*5) / √ (15+5)(15+5)(375+5)(375+5)
- MCC = 0,7368
Der Matthews-Korrelationskoeffizient beträgt 0,7368 . Dieser Wert liegt etwa bei eins, was darauf hindeutet, dass das Modell bei der Vorhersage, ob Spieler gedraftet werden oder nicht, gut funktioniert.
Das folgende Beispiel zeigt, wie der MCC für dieses spezielle Szenario mithilfe der Funktion matthews_corrcoef() aus der Sklearn- Bibliothek in Python berechnet wird.
Beispiel: Berechnung des Matthews-Korrelationskoeffizienten in Python
Der folgende Code zeigt, wie man ein Array vorhergesagter Klassen und ein Array tatsächlicher Klassen definiert und dann den Matthews-Korrelationskoeffizienten eines Modells in Python berechnet:
import numpy as np from sklearn. metrics import matthews_corrcoef #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 Matthews correlation coefficient matthews_corrcoef(actual, pred) 0.7368421052631579
Der MCC beträgt 0,7368 . Dies entspricht dem Wert, den wir zuvor manuell berechnet haben.
Hinweis : Die vollständige Dokumentation zur Funktion matthews_corrcoef() finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Metriken für Klassifizierungsmodelle in Python berechnen:
Eine Einführung in die logistische Regression in Python
So berechnen Sie den F1-Score in Python
So berechnen Sie die ausgewogene Präzision in Python