Saiba como o F1-Score equilibra precisão e recuperação para avaliar modelos de aprendizagem automática. Descubra como otimizar o desempenho Ultralytics para obter maior precisão.
O F1-Score é uma métrica de desempenho crítica na aprendizagem automática que combina precisão e recuperação numa única média harmónica. É particularmente útil para avaliar modelos de classificação em que o conjunto de dados está desequilibrado ou em que os falsos positivos e os falsos negativos acarretam custos diferentes. Ao contrário da precisão direta, que pode ser enganosa se uma classe dominar o conjunto de dados, o F1-Score fornece uma visão mais equilibrada da capacidade de um modelo identificar instâncias relevantes corretamente, minimizando erros. Ao penalizar valores extremos, ele garante que uma pontuação alta só seja alcançada quando a precisão e a recuperação forem razoavelmente altas, tornando-o uma métrica básica em áreas que vão desde diagnósticos médicos até recuperação de informações.
Em muitos cenários do mundo real, simplesmente saber a percentagem de previsões corretas (precisão) é insuficiente. Por exemplo, na deteção de anomalias, os casos normais superam em muito as anomalias. Um modelo que prevê «normal» para cada entrada pode atingir 99% de precisão, mas seria inútil para detetar problemas reais. O F1-Score resolve isso equilibrando duas métricas concorrentes:
Como muitas vezes há uma compensação — melhorar a precisão tende a diminuir a recuperação e vice-versa —, o F1-Score atua como uma métrica unificada para encontrar um ponto de equilíbrio ideal. Isso é crucial ao ajustar modelos usando otimização de hiperparâmetros para garantir um desempenho robusto em diversas condições.
A utilidade do F1-Score estende-se por vários setores onde o custo do erro é significativo.
As estruturas modernas de visão computacional simplificam o cálculo dessas métricas. Ao treinar modelos de detecção de objetos, o F1-Score é calculado automaticamente durante a fase de validação. A Ultralytics visualiza essas métricas em gráficos em tempo real, permitindo que os utilizadores vejam a curva do F1-Score em relação a diferentes limites de confiança.
Veja como pode aceder às métricas de validação, incluindo componentes do F1-Score, usando a Python :
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}")
Compreender como o F1-Score difere de outros critérios de avaliação é essencial para selecionar a ferramenta certa para o seu projeto.
Se o seu modelo sofre com uma pontuação F1 baixa, várias estratégias podem ajudar. O aumento de dados pode aumentar a variedade de exemplos positivos, ajudando o modelo a generalizar melhor. Empregar a aprendizagem por transferência a partir de modelos de base robustos permite que a rede aproveite recursos pré-aprendidos. Além disso, ajustar o limiar de confiança durante a inferência pode alterar manualmente o equilíbrio entre precisão e recuperação para maximizar a pontuação F1 para o seu caso de uso específico.