Erfahren Sie, wie der F1-Score Präzision und Recall ausgleicht, um Machine-Learning-Modelle zu bewerten. Entdecken Sie, wie Sie die Leistung Ultralytics für eine höhere Genauigkeit optimieren können.
Der F1-Score ist eine wichtige Leistungskennzahl im maschinellen Lernen, die Präzision und Recall zu einem einzigen harmonischen Mittelwert kombiniert. Er ist besonders nützlich für die Bewertung von Klassifizierungsmodellen, bei denen der Datensatz unausgewogen ist oder bei denen Falsch-Positive und Falsch-Negative 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 wird sichergestellt, dass ein hoher Score nur dann erreicht wird, wenn sowohl Präzision als auch Recall angemessen hoch sind, was ihn zu einer wichtigen Kennzahl in Bereichen von der medizinischen Diagnostik bis zur Informationsgewinnung macht.
In vielen realen Szenarien reicht es nicht aus, nur den Prozentsatz der korrekten Vorhersagen (Genauigkeit) zu kennen. Bei der Anomalieerkennung beispielsweise überwiegen normale Fälle bei weitem die Anomalien. Ein Modell, das für jede einzelne Eingabe „normal” vorhersagt, erreicht zwar eine Genauigkeit von 99 %, ist jedoch für die Erkennung tatsächlicher Probleme unbrauchbar. Der F1-Score löst dieses Problem, indem er zwei konkurrierende Metriken gegeneinander abwägt:
Da es oft einen Kompromiss gibt – die Verbesserung der Präzision führt tendenziell zu einer Verringerung der Recall und umgekehrt – fungiert der F1-Score als einheitliche Metrik, um einen optimalen Gleichgewichtspunkt zu finden. Dies ist entscheidend bei der Feinabstimmung von Modellen mithilfe der Hyperparameter-Optimierung, um eine robuste Leistung unter verschiedenen Bedingungen zu gewährleisten.
Die Nützlichkeit des F1-Scores erstreckt sich über verschiedene Branchen, in denen die Kosten von Fehlern erheblich sind.
Moderne Computer-Vision-Frameworks vereinfachen die Berechnung dieser Metriken. Beim Training von Objekterkennungsmodellen wird der F1-Score automatisch während der Validierungsphase berechnet. Die Ultralytics visualisiert diese Metriken in Echtzeit-Diagrammen, sodass Benutzer die Kurve des F1-Scores bei verschiedenen Konfidenzschwellenwerten sehen können.
So können Sie über die Python auf Validierungsmetriken zugreifen, darunter auch Komponenten des F1-Scores:
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}")
Das Verständnis, wie sich der F1-Score von anderen Bewertungskriterien unterscheidet, ist für die Auswahl des richtigen Tools für Ihr Projekt unerlässlich.
Wenn Ihr Modell unter einem niedrigen F1-Score leidet, können verschiedene Strategien Abhilfe schaffen. Durch Datenvergrößerung kann die Vielfalt der positiven Beispiele erhöht werden, wodurch das Modell besser generalisieren kann. Durch den Einsatz von Transferlernen aus robusten Basismodellen kann das Netzwerk vorab gelernte Merkmale nutzen. Darüber hinaus kann durch Anpassen des Konfidenzschwellenwerts während der Inferenz manuell die Balance zwischen Präzision und Recall verschoben werden, um den F1-Score für Ihren spezifischen Anwendungsfall zu maximieren.