So berechnen sie den f1-score in python (einschließlich beispiel)


Bei der Verwendung von Klassifizierungsmodellen beim maschinellen Lernen ist der F1-Score eine gängige Metrik, die wir zur Bewertung der Modellqualität verwenden.

Diese Metrik wird wie folgt berechnet:

F1-Score = 2 * (Präzision * Rückruf) / (Präzision + Rückruf)

Gold:

  • Genauigkeit : Korrigieren Sie positive Vorhersagen im Verhältnis zur Gesamtzahl der positiven Vorhersagen
  • Erinnerung : Korrigieren Sie positive Vorhersagen anhand der gesamten tatsächlichen positiven Ergebnisse

Angenommen, wir verwenden 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:

So berechnen Sie den F1-Score des Modells:

Genauigkeit = Richtig positiv / (Richtig positiv + Falsch positiv) = 120/ (120+70) = 0,63157

Rückruf = Richtig positiv / (Richtig positiv + Falsch negativ) = 120 / (120+40) = 0,75

F1-Score = 2 * (.63157 * .75) / (.63157 + .75) = . 6857

Das folgende Beispiel zeigt, wie der F1-Score für genau dieses Modell in Python berechnet wird.

Beispiel: Berechnung des F1-Scores in Python

Der folgende Code zeigt, wie Sie die Funktion f1_score() des sklearn- Pakets in Python verwenden, um den F1-Score für ein bestimmtes Array vorhergesagter Werte und tatsächlicher Werte zu berechnen.

 import numpy as np
from sklearn. metrics import f1_score

#define array of actual classes
actual = np. repeat ([1, 0], repeats=[160, 240])

#define array of predicted classes
pred = np. repeat ([1, 0, 1, 0], repeats=[120, 40, 70, 170])

#calculate F1 score
f1_score(actual, pred)

0.6857142857142857

Wir sehen, dass der F1-Score 0,6857 beträgt. Dies entspricht dem Wert, den wir zuvor manuell berechnet haben.

Hinweis : Die vollständige Dokumentation für die Funktion f1_score() finden Sie hier .

Hinweise zur Verwendung von F1-Ergebnissen

Wenn Sie den F1-Score verwenden, um mehrere Modelle zu vergleichen, stellt das Modell mit dem höchsten F1-Score das Modell dar, das Beobachtungen am besten in Klassen klassifizieren kann.

Wenn Sie beispielsweise ein anderes logistisches Regressionsmodell an die Daten anpassen und dieses Modell einen F1-Score von 0,75 hat, wird dieses Modell als besser angesehen, da es einen höheren F1-Score hat.

Zusätzliche Ressourcen

So führen Sie eine logistische Regression in Python durch
So erstellen Sie eine Verwirrungsmatrix in Python
So berechnen Sie die ausgewogene Präzision in Python
F1-Score vs. Genauigkeit: Was sollten Sie verwenden?

Einen Kommentar hinzufügen

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