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?