Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Curva Característica de Operação do Receptor (ROC)

Aprenda a usar a curva Receiver Operating Characteristic (ROC) para avaliar classificadores binários. Explore as compensações entre TPR e FPR com Ultralytics .

A curva Receiver Operating Characteristic (ROC) é uma ferramenta gráfica fundamental usada para avaliar o desempenho de modelos de classificação binária. No domínio da aprendizagem automática (ML), ela visualiza o trade-off entre a sensibilidade de um modelo e a sua especificidade em todos os limiares de decisão possíveis. Ao contrário de métricas de valor único, como a precisão, que podem ser enganosas se um conjunto de dados estiver desequilibrado, a curva ROC fornece uma visão abrangente de como um classificador se comporta à medida que os critérios para identificar instâncias positivas se tornam mais ou menos rigorosos. Essa visualização é essencial para engenheiros que utilizam técnicas de aprendizagem supervisionada para determinar o ponto de operação ideal para o seu caso de uso específico.

Interpretando os eixos e as compensações

Para compreender uma curva ROC, é necessário observar os dois parâmetros representados um em relação ao outro: a Taxa de Verdadeiros Positivos (TPR) e a Taxa de Falsos Positivos (FPR). A TPR representa a percentagem de casos de interesse que foram corretamente identificados como verdadeiros positivos. A FPR representa a percentagem de casos de interesse que foram corretamente identificados como verdadeiros positivos.

  • Taxa de verdadeiros positivos (TPR): Frequentemente referida como Recall ou sensibilidade, esta métrica no eixo y mede a proporção de observações positivas reais que o modelo identificou corretamente. Uma TPR elevada significa que o sistema raramente falha um alvo.
  • Taxa de falsos positivos (FPR): representada no eixo x, representa a proporção de instâncias negativas que são incorretamente categorizadas como positivas, também conhecidas como «falsos alarmes».

A curva ilustra uma relação dinâmica: à medida que se reduz o limiar de confiança para capturar mais casos positivos (aumentando a TPR), aumenta-se invariavelmente o risco de sinalizar casos negativos incorretamente (aumentando a FPR). Um classificador perfeito atingiria o canto superior esquerdo do gráfico, indicando 100% de sensibilidade e 0% de falsos alarmes. Um modelo que faz suposições aleatórias apareceria como uma linha diagonal da parte inferior esquerda para a parte superior direita. O desempenho geral é frequentemente resumido pela Área Sob a Curva (AUC), onde um valor de 1,0 representa a perfeição.

Aplicações no Mundo Real

A decisão de onde definir o limiar numa curva ROC depende inteiramente do custo dos erros numa aplicação industrial específica .

  1. Diagnóstico médico: Na IA na área da saúde, especificamente para tarefas como a deteção de tumores na análise de imagens médicas, o custo de perder um caso positivo (um falso negativo) é potencialmente fatal. Portanto, os profissionais geralmente escolhem um limite que maximize a TPR, mesmo que isso resulte em uma FPR mais alta, o que significa que mais pacientes saudáveis podem inicialmente ser sinalizados para testes adicionais.
  2. Detecção de fraudes financeiras: quando a IA em finanças é usada para monitorar transações com cartão de crédito, os bancos devem equilibrar a segurança com a experiência do cliente. Se o sistema for muito sensível (alto TPR), ele poderá bloquear cartões legítimos (alto FPR), frustrando os utilizadores. Os analistas usam a curva ROC para encontrar um limite equilibrado que detecte a maioria das fraudes, mantendo os falsos positivos em um mínimo aceitável.

Gerando probabilidades para análise ROC

Para traçar uma curva ROC, você precisa das probabilidades de previsão brutas, em vez de apenas os rótulos de classe finais. O exemplo a seguir usa o modelo YOLO26 de última geração para gerar pontuações de classificação.

from ultralytics import YOLO

# Load a pretrained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Run inference to get probability distribution
results = model("bus.jpg")

# Access the probability score for the predicted class
# These continuous scores are required to calculate TPR/FPR at different thresholds
print(f"Top Class Index: {results[0].probs.top1}")
print(f"Confidence Score: {results[0].probs.top1conf:.4f}")

Depois de recolher essas probabilidades para um conjunto de validação, os programadores podem usar bibliotecas como o Scikit-learn para calcular os pontos da curva. Para gerir conjuntos de dados e acompanhar essas métricas ao longo do tempo, a Ultralytics oferece ferramentas integradas para avaliação e implementação de modelos.

ROC vs. Conceitos relacionados

É importante distinguir a curva ROC de outras ferramentas de avaliação:

  • vs. Curva de Precisão-Recall (PR): Enquanto a ROC representa TPR em relação a FPR, a curva de Precisão-Recall representa Precisão em relação a Recall. A curva PR é geralmente preferida quando o conjunto de dados é muito desequilibrado (por exemplo, detecção de anomalias raras), pois a curva ROC pode, por vezes, apresentar uma visão excessivamente otimista em tais cenários.
  • vs. Matriz de confusão: Uma matriz de confusão fornece um instantâneo do desempenho em um único limiar específico. Em contrapartida, a curva ROC visualiza o desempenho em todos os limiares possíveis, tornando-a uma ferramenta mais abrangente para a análise de modelação preditiva antes que uma regra de decisão final seja estabelecida.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora