F1-Score
Lerne, wie der F1-Score Präzision und Recall ausbalanciert, um Modelle für maschinelles Lernen zu bewerten. Entdecke, wie du die Leistung von Ultralytics YOLO26 für eine bessere Genauigkeit optimierst.
Der F1-Score ist eine entscheidende Leistungsmetrik im maschinellen Lernen, die Präzision und Recall zu einem einzigen harmonischen Mittelwert kombiniert. Er ist besonders nützlich für die Evaluierung von Klassifizierungsmodellen, bei denen der Datensatz unausgewogen ist oder bei denen False Positives und False Negatives unterschiedliche Kosten verursachen. Im Gegensatz zur einfachen Genauigkeit, die irreführend sein kann, wenn eine Klasse den Datensatz dominiert, bietet der F1-Score eine ausgewogenere Sicht auf die Fähigkeit eines Modells, relevante Instanzen korrekt zu identifizieren und gleichzeitig Fehler zu minimieren. Durch die Bestrafung extremer Werte stellt er sicher, dass ein hoher Score nur erreicht wird, wenn sowohl Präzision als auch Recall ausreichend hoch sind, was ihn zu einer Standardmetrik in Bereichen von der medizinischen Diagnostik bis hin zum Information Retrieval macht.
Warum der F1-Score im maschinellen Lernen wichtig ist#
In vielen realen Szenarien reicht es nicht aus, einfach den Prozentsatz korrekter Vorhersagen (Genauigkeit) zu kennen. Beispielsweise übersteigen in der anomaly detection normale Fälle Anomalien bei Weitem. Ein Modell, das für jede einzelne Eingabe „normal“ vorhersagt, erreicht möglicherweise eine Genauigkeit von 99 %, wäre aber nutzlos, um tatsächliche Probleme zu erkennen. Der F1-Score begegnet diesem Problem, indem er zwei konkurrierende Metriken ausgleicht:
- Precision: Dies misst die Qualität positiver Vorhersagen. Es beantwortet die Frage: „Von allen Instanzen, die das Modell als positiv eingestuft hat, wie viele waren tatsächlich positiv?“
- Recall: Dies misst die Quantität positiver Vorhersagen. Es beantwortet die Frage: „Von allen tatsächlichen positiven Instanzen, wie viele hat das Modell korrekt identifiziert?“
Da es oft einen Zielkonflikt gibt – eine Verbesserung der Präzision führt tendenziell zu einem geringeren Recall und umgekehrt –, fungiert der F1-Score als einheitliche Metrik, um einen optimalen Ausgleichspunkt zu finden. Dies ist von entscheidender Bedeutung beim Feinabstimmen von Modellen mithilfe von hyperparameter optimization, um eine robuste Leistung unter verschiedenen Bedingungen sicherzustellen.
Praxisanwendungen#
Der Nutzen des F1-Scores erstreckt sich über verschiedene Branchen, in denen die Kosten eines Fehlers signifikant sind.
- Medizinische Diagnostik: In AI in healthcare, insbesondere bei Aufgaben wie der Tumorerkennung, ist ein falsches Negativ (Übersehen eines Tumors) lebensbedrohlich, während ein falsches Positiv (Markierung von gutartigem Gewebe) unnötige Ängste auslöst. Der F1-Score hilft Forschern, Modelle wie YOLO26 so zu optimieren, dass das System empfindlich genug ist, Krankheiten zu erkennen, ohne Ärzte mit Fehlalarmen zu überlasten.
- Information Retrieval und Suche: Suchmaschinen und Dokumentenklassifizierungssysteme nutzen den F1-Score zur Bewertung der Relevanz. Nutzer möchten alle relevanten Dokumente sehen (hoher Recall), aber keine irrelevanten Ergebnisse durchsuchen (hohe Präzision). Ein hoher F1-Score zeigt an, dass die Engine die richtigen Informationen effektiv abruft, ohne Ballast.
- Spam-Filterung: E-Mail-Dienste nutzen text classification, um Spam auszusortieren. Das System muss Spam-E-Mails erkennen (Recall), darf aber vor allem wichtige geschäftliche E-Mails nicht als Junk einstufen (Precision). Der F1-Score dient als primärer Benchmark für diese Filter.
Berechnung des F1-Scores mit Ultralytics#
Moderne computer vision-Frameworks vereinfachen die Berechnung dieser Metriken. Beim Training von Objekterkennungsmodellen wird der F1-Score während der Validierungsphase automatisch berechnet. Die Ultralytics Platform visualisiert diese Metriken in Echtzeit-Diagrammen, sodass Benutzer die Kurve des F1-Score im Verhältnis zu verschiedenen Konfidenzschwellenwerten sehen können.
Hier erfährst du, wie du über die Python API auf Validierungsmetriken, einschließlich der Komponenten des F1-Scores, zugreifen kannst:
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")
# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")
# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")F1-Score vs. verwandte Metriken#
Zu verstehen, wie sich der F1-Score von anderen Bewertungskriterien unterscheidet, ist wichtig, um das richtige Tool für dein Projekt auszuwählen.
- Unterschied zur Genauigkeit: Accuracy behandelt alle Fehler gleich. Der F1-Score ist für imbalanced datasets überlegen, da er sich auf die Leistung der positiven Klasse (die Minderheitenklasse von Interesse) konzentriert.
- Beziehung zu mAP: Mean Average Precision (mAP) ist der Standard zum Vergleichen von Objekterkennungsmodellen über alle Konfidenzschwellenwerte hinweg. Der F1-Score wird jedoch häufig verwendet, um den optimalen Konfidenzschwellenwert für die Bereitstellung zu ermitteln. Du kannst den Schwellenwert wählen, bei dem die F1-Kurve ihr Maximum erreicht, um deine Anwendung bereitzustellen.
- Konfusionsmatrix: Die confusion matrix liefert die Rohzahlen (True Positives, False Positives usw.), aus denen der F1-Score abgeleitet wird. Während die Matrix granulare Details liefert, bietet der F1-Score eine einzelne Zusammenfassungsstatistik für einen schnellen Vergleich.
- ROC-AUC: Die Area Under the Curve (AUC) misst die Trennbarkeit über alle Schwellenwerte hinweg. Der F1-Score wird gegenüber ROC-AUC im Allgemeinen bevorzugt, wenn eine stark verzerrte Klassenverteilung vorliegt (z. B. bei der Betrugserkennung, bei der Betrug selten ist).
Verbesserung deines F1-Scores#
Wenn dein Modell unter einem niedrigen F1-Score leidet, können mehrere Strategien helfen. Data augmentation kann die Vielfalt positiver Beispiele erhöhen und dem Modell helfen, besser zu generalisieren. Der Einsatz von transfer learning von robusten Basismodellen ermöglicht es dem Netzwerk, zuvor gelernte Merkmale zu nutzen. Darüber hinaus kann das Anpassen des confidence threshold während der Inferenz das Gleichgewicht zwischen Präzision und Recall manuell verschieben, um den F1-Score für deinen spezifischen Anwendungsfall zu maximieren.






