Descubra a importância da precisão (accuracy) em machine learning, seu cálculo, limitações com conjuntos de dados desbalanceados e maneiras de melhorar o desempenho do modelo.
A exatidão é uma das métricas mais fundamentais para avaliar o desempenho de um modelo de classificação. Ela representa a proporção de previsões corretas feitas pelo sistema em relação ao número total de previsões processadas. No panorama mais alargado da aprendizagem automática (ML), a exatidão é frequentemente o primeiro número que os programadores analisam para avaliar se um modelo está a aprender eficazmente ou simplesmente a adivinhar. Embora forneça uma imagem rápida da eficácia, é frequentemente utilizada juntamente com outras métricas de avaliação para garantir uma para garantir uma compreensão abrangente do comportamento do modelo, particularmente ao distinguir entre classes em conjuntos de dados complexos.
O cálculo da precisão é simples, o que o torna altamente acessível para as partes interessadas, desde cientistas de dados cientistas de dados a executivos de empresas. É definida matematicamente como o número de verdadeiros positivos e verdadeiros negativos dividido pelo número total de casos. Para tarefas de tarefas de aprendizagem supervisionada, esta métrica indica a frequência com que o algoritmo se alinha com a verdade fundamental fornecida nos dados de treino. No entanto, uma precisão elevada nem sempre implica um modelo perfeito; a sua fiabilidade depende fortemente da distribuição dos dados subjacentes.
A exatidão desempenha um papel fundamental em vários sectores onde a tomada de decisões automatizada ajuda os especialistas humanos.
Ao desenvolver modelos com o ultralytics a avaliação da exatidão é uma parte normal do
fluxo de trabalho de validação. O exemplo a seguir demonstra como carregar um pacote
YOLO11 modelo de classificação e validá-lo para obter
métricas de precisão.
from ultralytics import YOLO
# Load a pretrained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")
# Validate the model on the MNIST160 dataset
# The function returns a metrics object containing top1 and top5 accuracy
metrics = model.val(data="mnist160")
# Display the Top-1 accuracy (percentage of times the top prediction was correct)
print(f"Top-1 Accuracy: {metrics.top1:.2f}")
Embora intuitiva, a exatidão pode ser enganadora quando se lida com um desequilibrado. Este fenómeno é conhecido como o paradoxo da precisão. Por exemplo, num cenário de deteção de fraude em que apenas 1% das transacções são fraudulentas, um modelo que preveja simplesmente "legítimo" para cada transação alcançará 99% de exatidão. No entanto, falharia completamente na sua tarefa principal de deteção de fraude. Nesses casos, o modelo apresenta uma precisão elevada mas um poder de previsão nulo para a classe minoritária.
Para resolver este problema, os profissionais utilizam para equilibrar as classes ou analisar diferentes métricas que dissecam os tipos de erros que estão a ser cometidos.
Para compreender plenamente o desempenho do modelo, a exatidão deve ser distinguida de termos relacionados:
O aumento da precisão envolve um processo iterativo de experimentação. Os programadores utilizam frequentemente hiperparâmetros para ajustar as taxas de aprendizagem para ajustar as taxas de aprendizagem e os tamanhos dos lotes para uma convergência óptima. Além disso, o emprego de arquitecturas avançadas como os Transformers ou as últimas iterações do Ultralytics YOLO podem produzir ganhos significativos. Finalmente, garantir que o conjunto de dados de treino é limpo e diversificado através da aprendizagem ativa ajuda o modelo a generalizar melhor para dados não vistos do mundo real.