Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Area Under the Curve (AUC)

A AUC converte uma curva ROC numa única pontuação entre 0 e 1: a probabilidade de um classificador ordenar um positivo aleatório acima de um negativo aleatório. AUC ROC vs. AUC PR, com código.

A área sob a curva (AUC) é uma métrica que resume a capacidade de um classificador binário para distinguir duas classes em todos os limiares de decisão possíveis. Em aprendizagem automática, AUC refere-se quase sempre à área sob a curva ROC (característica de operação do recetor), também designada ROC AUC ou AUROC. O seu valor equivale à probabilidade de o modelo atribuir uma pontuação superior a um exemplo positivo escolhido aleatoriamente do que a um exemplo negativo escolhido aleatoriamente. Uma AUC de 1,0 significa que todos os exemplos positivos ficam acima dos negativos; 0,5 significa que a ordenação não é melhor do que o acaso; e valores inferiores a 0,5 significam que a ordenação está invertida. Como depende apenas da ordenação das pontuações, a AUC avalia um modelo antes de alguém escolher um limiar, o que a torna uma métrica padrão para modelos de diagnóstico médico, avaliação de crédito e deteção de fraude.

Como se calcula a AUC#

A curva ROC representa a taxa de verdadeiros positivos, que corresponde ao recall, em função da taxa de falsos positivos, ou seja, a proporção de negativos assinalados incorretamente, à medida que o limiar de decisão percorre as pontuações da mais alta à mais baixa. Um limiar acima de todas as pontuações não assinala nada e corresponde a (0, 0); um limiar abaixo de todas as pontuações assinala tudo e corresponde a (1, 1). A AUC é a área sob a linha que liga todos os pontos intermédios, geralmente calculada pela regra trapezoidal.

É possível obter o mesmo valor contando pares. Comparar cada positivo com cada negativo e atribuir 1 ao par quando o positivo fica acima, 0,5 em caso de empate e 0 nos restantes casos dá exatamente a ROC AUC, uma quantidade que os estatísticos conhecem como estatística U de Mann-Whitney normalizada e os investigadores médicos como concordância ou estatística c. As equipas de risco de crédito apresentam muitas vezes o coeficiente de Gini, que equivale a 2 × AUC − 1.

A perspetiva por pares explica as principais propriedades da AUC. Qualquer transformação que mantenha a ordenação das pontuações, como elevar probabilidades ao quadrado ou aplicar escalonamento de temperatura aos logits de um classificador binário, mantém a AUC inalterada. Assim, um modelo pode ter uma AUC excelente e probabilidades mal calibradas. A calibração exige uma métrica separada, como a pontuação de Brier.

ROC AUC vs. PR AUC em dados desequilibrados#

A ROC AUC não depende da proporção entre classes, porque a taxa de verdadeiros positivos é calculada apenas entre os positivos e a taxa de falsos positivos apenas entre os negativos. Esta propriedade torna-se uma desvantagem quando os positivos são raros. Com 1 positivo em 100, uma taxa de falsos positivos de 5% gera cerca de cinco falsos alarmes por cada positivo real, mas mal altera a curva ROC. A área sob a curva precisão-recall (PR AUC), geralmente resumida como precisão média (AP), representa a precisão em função do recall e expõe diretamente esses falsos alarmes, o que a torna mais informativa do que a curva ROC em dados desequilibrados. O script scikit-learn abaixo avalia o mesmo modelo das duas formas:

from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import average_precision_score, roc_auc_score
from sklearn.model_selection import train_test_split

# Imbalanced binary problem: 1 positive per 100 samples
X, y = make_classification(n_samples=20_000, weights=[0.99], flip_y=0, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, stratify=y, random_state=0)

# Score the test set with a simple classifier
model = LogisticRegression(max_iter=1000).fit(X_train, y_train)
scores = model.predict_proba(X_test)[:, 1]

# The same scores summarized by the areas under two different curves
print(f"Positives in test set: {y_test.sum()} of {len(y_test)}")
print(f"ROC AUC: {roc_auc_score(y_test, scores):.3f}")
print(f"PR AUC (average precision): {average_precision_score(y_test, scores):.3f}")

Com 100 positivos entre 10 000 amostras de teste, o modelo alcança uma ROC AUC de 0,911, mas uma precisão média de apenas 0,462. Os dois valores também têm linhas de base diferentes: uma ordenação aleatória obtém uma ROC AUC de 0,5, independentemente do equilíbrio entre classes, enquanto a sua precisão média é igual à taxa de positivos, que neste caso é 0,01.

AUC multiclasse e deteção de objetos#

A ROC AUC está definida para duas classes. Para mais classes, a função roc_auc_score do scikit-learn calcula a média das AUCs um-contra-o-resto, em que cada classe é comparada com todas as outras, ou das AUCs um-contra-um de cada par de classes, com uma média macro ou ponderada pela prevalência.

A deteção de objetos não pode utilizar curvas ROC, porque os negativos correspondem a todas as localizações de caixas que não contêm objetos — um conjunto efetivamente ilimitado, sem uma taxa de falsos positivos significativa. As métricas de deteção utilizam, em vez disso, áreas sob curvas de precisão-recall. A validação do YOLO26 na Ultralytics calcula a precisão média de cada classe como a área sob o respetivo envelope de precisão-recall, amostrado em 101 pontos de recall, tal como na avaliação COCO, e calcula a média dessas áreas para obter a precisão média (mAP) em limiares de IoU de 0,50 a 0,95.

  • Precisão: Mede as previsões corretas num único limiar e pode parecer excelente em dados desequilibrados, mesmo sem identificar nenhum positivo. A AUC mede a ordenação em todos os limiares.
  • Pontuação F1: Combina precisão e recall num único limiar, pelo que avalia um ponto de operação, enquanto a AUC resume todos os pontos.
  • Matriz de confusão: Conta os verdadeiros e falsos positivos e negativos num único limiar. Cada ponto ROC resume uma matriz de confusão como um par de taxas.
  • Precisão média: A área sob a curva de precisão-recall, o resumo habitual quando os positivos são raros e o principal componente da mAP.
  • AUC parcial: A área numa faixa limitada de falsos positivos, como 0 a 0,1, utilizada quando só são aceitáveis taxas baixas de falsos alarmes, como em programas de rastreio em grande escala, em que cada falso alarme desencadeia um exame de seguimento.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina