Descubra a importância do F1-score no aprendizado de máquina! Aprenda como ele equilibra precisão e recall para uma avaliação ideal do modelo.
O F1-Score é uma métrica de desempenho crítica na aprendizagem automática (ML) utilizada para avaliar a precisão dos modelos de classificação. Ao contrário da precisão simples, que calcula a percentagem de previsões corretas, o F1-Score combina duas outras métricas vitais - Precisão e Recall - numúnico valor. É definido como a média harmónica da precisão e da recuperação. Isso torna o F1-Score particularmente útil para avaliar modelos treinados em conjuntos de dados desequilibrados, em que o número de amostras de uma classe é significativamente superior ao das outras. Nesses casos, um modelo pode atingir alta precisão simplesmente prevendo a classe maioritária, enquanto não consegue identificar a classe minoritária que é frequentemente de maior interesse.
Para compreender o F1-Score, é necessário compreender a tensão entre os seus componentes. A precisão mede a qualidade das previsões positivas (minimizando os falsos positivos), enquanto o Recall mede a quantidade de verdadeiros positivos identificados (minimizando os falsos negativos). Muitas vezes, o aumento de uma destas métricas resulta numa diminuição da outra, um fenómeno conhecido como compensação precisão-recall. O F1-Score proporciona uma visão equilibrada ao penalizar os valores extremos. Atinge o seu melhor valor em 1 (precisão e Este equilíbrio é essencial para desenvolver sistemas de modelação preditiva robustos sistemas de modelação preditiva robustos, em que tanto as detecções falhadas e falsos alarmes acarretam custos significativos.
O F1-Score é indispensável em cenários em que o custo do erro é elevado ou a distribuição dos dados é enviesada.
Para tarefas de visão por computador (CV), tais como deteção de objectos, o F1-Score ajuda a determinar um modelo define os limites e classifica os objectos em limites de confiança específicos. Ao treinar modelos como Ultralytics YOLO11o processo de validação calcula a calcula a precisão, a recuperação e os F1-Scores para ajudar os engenheiros a selecionar os melhores pesos do modelo.
O seguinte código Python demonstra como validar um modelo YOLO11 pré-treinado e aceder a métricas de desempenho.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Run validation on a dataset like COCO8
# The .val() method computes metrics including Precision, Recall, and mAP
metrics = model.val(data="coco8.yaml")
# Print the mean results
# While F1 is computed internally for curves, mAP is the primary summary metric
print(f"Mean Average Precision (mAP50-95): {metrics.box.map}")
print(f"Precision: {metrics.box.mp}")
print(f"Recall: {metrics.box.mr}")
A seleção da métrica correta depende dos objectivos específicos do projeto de IA.
O aumento da pontuação F1 envolve frequentemente melhorias iterativas do modelo e dos dados.