Classificação: curva ROC e AUC

Curva ROC

Uma curva de ROC (curva de característica de operação do receptor) é um gráfico que mostra o desempenho de um modelo de classificação em todos os limiares de classificação. Essa curva representa dois parâmetros:

  • Taxa de verdadeiro positivo
  • Taxa de falso positivo

Taxa de verdadeiro positivo (TPR) é um sinônimo de recall e, portanto, é definida da seguinte maneira:

$$TPR = \frac{TP} {TP + FN}$$

A Taxa de falso positivo (FPR) é definida da seguinte maneira:

$$FPR = \frac{FP} {FP + TN}$$

Uma curva ROC mostra TPR x FPR em diferentes limiares de classificação. Reduzir o limite de classificação classifica mais itens como positivos, o que aumenta os falsos positivos e verdadeiros positivos. A figura a seguir mostra uma curva típica de ROC.

Curva ROC mostrando taxa de TP x taxa de FP em diferentes limites de classificação.

Figura 4. Taxas de VP e FP em diferentes limites de classificação.

Para calcular os pontos em uma curva ROC, poderíamos avaliar um modelo de regressão logística muitas vezes com limites de classificação diferentes, mas isso seria ineficiente. Felizmente, há um algoritmo eficiente e baseado em classificação que pode fornecer essas informações para nós, chamado AUC.

AUC: Área sob a curva ROC

AUC significa "área" sob a curva ROC. Ou seja, a AUC mede toda a área bidimensional abaixo da curva ROC inteira (pense no cálculo integral) de (0,0) a (1,1).

AUC (Área sob a curva ROC).

Figura 5. AUC (Área sob a curva ROC).

A AUC oferece uma medida agregada de desempenho em todos os limites de classificação possíveis. Uma maneira de interpretar a AUC é a probabilidade de o modelo classificar um exemplo positivo aleatório mais alto do que um exemplo negativo aleatório. Por exemplo, considerando os exemplos a seguir, que são organizados da esquerda para a direita em ordem crescente de previsões de regressão logística:

Exemplos positivos e negativos classificados em ordem crescente da pontuação de regressão logística

Figura 6. As previsões são classificadas em ordem crescente de pontuação de regressão logística.

A AUC representa a probabilidade de um exemplo aleatório positivo (verde) estar posicionado à direita de um exemplo negativo aleatório (vermelho).

O AUC varia no valor de 0 a 1. Um modelo com previsões 100% incorretas tem uma AUC de 0,0, e uma com previsões 100% corretas tem uma AUC de 1,0.

A AUC é recomendável pelos seguintes motivos:

  • A AUC é invariante em escala. Ele mede a precisão das classificações em vez dos valores absolutos.
  • A AUC é classification-threshold-invariant. Ela mede a qualidade das previsões do modelo, independentemente do limite de classificação escolhido.

No entanto, ambos os motivos vêm com ressalvas, que podem limitar a utilidade da AUC em determinados casos de uso:

  • Nem sempre uma variação é adequada quando se trata de escalonamentos. Por exemplo, às vezes precisamos de resultados de probabilidade bem calibrados, e a AUC não vai nos contar isso.

  • A incompatibilidade de limite de classificação nem sempre é desejada. Nos casos em que há amplas disparidades no custo de falsos negativos em comparação a falsos positivos, pode ser essencial minimizar um tipo de erro de classificação. Por exemplo, ao fazer a detecção de spam de e-mail, é provável que você queira priorizar a minimização dos falsos positivos, mesmo que isso resulte em um aumento significativo dos falsos negativos. A AUC não é uma métrica útil para esse tipo de otimização.