So berechnen sie den matthews-korrelationskoeffizienten in r


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 MCC für dieses spezielle Szenario mithilfe der Funktion mcc() aus dem mltools- Paket in R berechnet wird.

Beispiel: Berechnung des Matthews-Korrelationskoeffizienten in R

Der folgende Code zeigt, wie man einen Vektor vorhergesagter Klassen und einen Vektor tatsächlicher Klassen definiert und dann den Matthews-Korrelationskoeffizienten mithilfe der Funktion mcc() aus dem mltools- Paket berechnet:

 library (mltools)

#define vector of actual classes
actual <- rep (c(1, 0), times =c(20, 380))

#define vector of predicted classes
preds <- rep (c(1, 0, 1, 0), times =c(15, 5, 5, 375))

#calculate Matthews correlation coefficient
mcc(preds, actual)

[1] 0.7368421

Der Matthews-Korrelationskoeffizient beträgt 0,7368 .

Dies entspricht dem Wert, den wir zuvor manuell berechnet haben.

Wenn Sie den Matthews-Korrelationskoeffizienten für eine Verwirrungsmatrix berechnen möchten, können Sie das Argument „confusionM“ wie folgt verwenden:

 library (mltools)

#create confusion matrix
conf_matrix <- matrix(c(15, 5, 5, 375), nrow= 2 )

#view confusion matrix
conf_matrix

     [,1] [,2]
[1,] 15 5
[2,] 5,375

#calculate Matthews correlation coefficient for confusion matrix
mcc(confusionM = conf_matrix)

[1] 0.7368421

Auch hier beträgt der Matthews-Korrelationskoeffizient 0,7368.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:

So führen Sie eine logistische Regression in R durch
So zeichnen Sie eine ROC-Kurve mit ggplot2
So berechnen Sie den F1-Score in R

Einen Kommentar hinzufügen

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