F1-Score
Saiba como o F1-Score equilibra precisão e revocação para avaliar modelos de aprendizado de máquina. Descubra como otimizar o desempenho do Ultralytics YOLO26 para obter maior precisão.
O F1-Score é uma métrica fundamental de desempenho em machine learning que combina precisão e revocação em uma única média harmônica. É particularmente útil para avaliar modelos de classificação quando o conjunto de dados está desbalanceado ou quando os falsos positivos e falsos negativos têm custos diferentes. Ao contrário da acurácia simples, que pode ser enganosa se uma classe predominar no conjunto de dados, o F1-Score oferece uma visão mais equilibrada da capacidade do modelo de identificar corretamente instâncias relevantes e minimizar erros. Ao penalizar valores extremos, garante que uma pontuação alta só seja alcançada quando tanto a precisão quanto a revocação forem razoavelmente altas, tornando-se uma métrica essencial em áreas que vão do diagnóstico médico à recuperação de informações.
Por que o F1-Score é importante em machine learning#
Em muitas situações do mundo real, saber apenas a porcentagem de previsões corretas (acurácia) não é suficiente. Por exemplo, na detecção de anomalias, os casos normais são muito mais numerosos do que as anomalias. Um modelo que prevê "normal" para todas as entradas poderia alcançar 99% de acurácia, mas seria inútil para detectar problemas reais. O F1-Score resolve essa questão ao equilibrar duas métricas concorrentes:
- Precisão: Mede a qualidade das previsões positivas. Responde à pergunta: "De todas as instâncias que o modelo classificou como positivas, quantas eram realmente positivas?"
- Revocação: Mede a quantidade de previsões positivas. Responde: "De todas as instâncias realmente positivas, quantas o modelo identificou corretamente?"
Como costuma haver um compromisso — melhorar a precisão tende a reduzir a revocação e vice-versa —, o F1-Score funciona como uma métrica unificada para encontrar um ponto de equilíbrio ideal. Isso é fundamental ao ajustar modelos com otimização de hiperparâmetros para garantir um desempenho robusto em condições variadas.
Aplicações no mundo real#
A utilidade do F1-Score se estende a vários setores em que o custo dos erros é significativo.
- Diagnóstico médico: Na IA na área da saúde, especialmente em tarefas como a detecção de tumores, um falso negativo (não detectar um tumor) representa risco de vida, enquanto um falso positivo (sinalizar tecido benigno) causa ansiedade desnecessária. O F1-Score ajuda pesquisadores a otimizar modelos como o YOLO26, garantindo que o sistema seja sensível o suficiente para detectar doenças sem sobrecarregar os médicos com falsos alarmes.
- Recuperação de informações e pesquisa: Mecanismos de pesquisa e sistemas de classificação de documentos usam o F1-Score para avaliar a relevância. Os usuários querem ver todos os documentos relevantes (alta revocação), mas não querem ter de percorrer resultados irrelevantes (alta precisão). Um F1-Score alto indica que o mecanismo recupera as informações certas com eficiência e sem excesso de resultados.
- Filtragem de spam: Serviços de e-mail usam classificação de texto para separar o spam. O sistema precisa detectar os e-mails de spam (revocação), mas, principalmente, não deve classificar e-mails de trabalho importantes como lixo eletrônico (precisão). O F1-Score é a principal referência para esses filtros.
Calculando o F1-Score com a Ultralytics#
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 etapa de validação. A Ultralytics Platform visualiza essas métricas em gráficos em tempo real, permitindo que os usuários vejam a curva do F1-Score para diferentes limites de confiança.
Veja como acessar as métricas de validação, incluindo os componentes do F1-Score, usando a API do 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}")F1-Score vs. métricas relacionadas#
Entender as diferenças entre o F1-Score e outros critérios de avaliação é essencial para escolher a ferramenta certa para seu projeto.
- Diferença em relação à acurácia: A acurácia trata todos os erros da mesma maneira. O F1-Score é superior para conjuntos de dados desbalanceados, pois se concentra no desempenho da classe positiva (a classe minoritária de interesse).
- Relação com mAP: A Precisão média (mAP) é a métrica padrão para comparar modelos de detecção de objetos em todos os limites de confiança. No entanto, o F1-Score costuma ser usado para determinar o limite de confiança ideal para a implantação. Você pode escolher o limite correspondente ao pico da curva F1 para implantar sua aplicação.
- Matriz de confusão: A matriz de confusão fornece as contagens brutas (verdadeiros positivos, falsos positivos etc.) das quais o F1-Score é derivado. Enquanto a matriz apresenta detalhes granulares, o F1-Score oferece uma única estatística resumida para comparações rápidas.
- ROC-AUC: A área sob a curva (AUC) mede a capacidade de separação em todos os limites. Em geral, o F1-Score é preferível ao ROC-AUC quando a distribuição das classes é muito desigual (por exemplo, na detecção de fraudes, em que as fraudes são raras).
Melhorando seu F1-Score#
Se seu modelo tiver um F1-Score baixo, várias estratégias podem ajudar. O aumento de dados pode aumentar a variedade de exemplos positivos, ajudando o modelo a generalizar melhor. O uso de aprendizado por transferência a partir de modelos fundacionais robustos permite que a rede aproveite características previamente aprendidas. Além disso, ajustar o limite de confiança durante a inferência pode alterar manualmente o equilíbrio entre precisão e revocação para maximizar o F1-Score no seu caso de uso específico.









