Classificação: ROC e AUC

A seção anterior apresentou um conjunto de métricas de modelo, todas calculadas com um com valor único de limiar de classificação. Mas, se você quiser avaliar a qualidade do modelo em todos os limites possíveis, você precisa de ferramentas diferentes.

Curva de característica de operação do receptor (ROC, na sigla em inglês)

A curva ROC é uma representação visual do desempenho do modelo em todos os limites. A versão longa do nome, característica de operação do receptor, é uma retenção da detecção de radar da Segunda Guerra Mundial.

A curva ROC é desenhada pelo cálculo da taxa de verdadeiro positivo (TPR, na sigla em inglês) e a taxa de falsos positivos (FPR, na sigla em inglês) em todos os limiares possíveis (na prática, intervalos selecionados), e fazer um gráfico de TPR sobre FPR. Um modelo perfeito, que em algum limite tem um TPR de 1,0 e um FPR de 0,0, pode ser representada por um ponto (0, 1) se todos os outros limites forem ignorados ou pelo seguinte:

Figura 1. Um gráfico de TPR (eixo y) em relação ao FPR (eixo X) mostrando os
            desempenho de um modelo perfeito: uma linha de (0,1) a (1,1).
Figura 1. ROC e AUC de um modelo hipotético perfeito.

Área sob a curva (AUC)

A área sob a curva ROC (AUC) representa a probabilidade de que o modelo, se receber um exemplo positivo e negativo aleatoriamente, classificará positivo maior que negativo.

O modelo perfeito acima, que contém um quadrado com lados de comprimento 1, tem sob a curva (AUC) de 1,0. Isso significa que há 100% de probabilidade de que o modelo vai classificar corretamente um exemplo positivo escolhido aleatoriamente com maior um exemplo negativo aleatoriamente escolhido. Em outras palavras, observar a disseminação pontos de dados abaixo, a AUC dá a probabilidade de o modelo colocar uma quadrado aleatório à direita de um círculo escolhido aleatoriamente, independente em que o limite é definido.

Linha de dados do widget sem controle deslizante

Em termos mais concretos, um classificador de spam com AUC de 1,0 sempre atribui a um e-mail de spam aleatório uma probabilidade maior de ser spam do que um e-mail legítimo aleatório. A classificação real de cada e-mail depende do limite escolhido.

Para um classificador binário, um modelo que faz exatamente o mesmo que palpites aleatórios ou "cara ou coroa" tem uma ROC que é uma linha diagonal de (0,0) a (1,1). A AUC é 0,5, o que representa uma probabilidade de 50% de classificar corretamente um positivo aleatório e exemplo negativo.

No exemplo do classificador de spam, um classificador de spam com AUC de 0,5 atribui um e-mail de spam aleatório tem maior probabilidade de ser spam do que e-mails legítimos apenas metade do tempo.

Figura 2. Um gráfico de TPR (eixo y) em relação ao FPR (eixo X) mostrando os
            desempenho de um adivinhador aleatório de 50-50: uma linha diagonal de (0,0)
            com (1,1).
Figura 2. ROC e AUC de palpites completamente aleatórios.

(Opcional, avançado) Curva de precisão/recall.

A AUC e a ROC funcionam bem para comparar modelos quando o conjunto de dados é equilibrado entre as classes. Quando o conjunto de dados está desequilibrado, precisão-recall (PRCs) e a área sob essas curvas pode oferecer uma melhor e visualização do desempenho do modelo. As curvas de precisão/recall são criadas plotando a precisão no eixo y e o recall no eixo x em todas limites.

Exemplo de curva de precisão/recall com curva convexa decrescente de (0,1)
            a (1,0)

AUC e ROC para escolher o modelo e o limite

A AUC é uma medida útil para comparar o desempenho de dois modelos diferentes, desde que o conjunto de dados esteja mais equilibrado. Consulte Curva de precisão/recall, acima, para conjuntos de dados desequilibrados.) O modelo com maior área abaixo a curva geralmente é a melhor.

Figura 3.a. Gráfico ROC/AUC de um modelo com AUC=0,65. Figura 3.b. Gráfico ROC/AUC de um modelo com AUC=0,93.
Figura 3. ROC e AUC de dois modelos hipotéticos. A curva na quanto maior a AUC, melhor representa o modelo.

Os pontos em uma curva ROC mais próximos de (0,1) representam um intervalo do limites de melhor desempenho para determinado modelo. Conforme discutido nas Limites, Matriz de confusão e Escolha de métricas e compensações o limite escolhido depende da métrica mais importante para o caso de uso específico. Considere os pontos A, B e C no seguinte diagrama, cada um representando um limite:

Figura 4. Uma curva ROC de AUC=0,84 mostrando três pontos na
            convexa da curva mais próxima de (0,1) rotulada como A, B, C, na ordem.
Figura 4. Três pontos rotulados que representam os limites.

Se os falsos positivos (alarmes falsos) têm alto custo, pode fazer sentido escolha um limite que ofereça uma FPR menor, como o do ponto A, mesmo que a TPR é reduzido. Por outro lado, se os falsos positivos forem baratos e os falsos negativos (verdadeiros positivos ausentes) muito caro, o limite para o ponto C, que maximiza o TPR, pode ser preferível. Se os custos forem quase equivalentes, o ponto B pode oferecer o melhor equilíbrio entre TPR e FPR.

Exercício: testar seu conhecimento

Na prática, as curvas ROC são muito menos regulares do que as ilustrações. acima. Qual dos modelos a seguir, representado pela curva ROC e AUC tem o melhor desempenho?
curva ROC que faz um arco para cima e depois para a direita de (0,0) para
           (1,1). A AUC da curva é 0,77.
Esse modelo tem a AUC mais alta, o que corresponde à melhor desempenho.
curva ROC que é aproximadamente uma linha reta de (0,0) a
           (1,1), com alguns zigue-zagues. A AUC da curva é 0,508.
Curva ROC que faz um zigue-zague para cima e para a direita de (0,0) para (1,1).
           A AUC da curva é 0,623.
curva ROC que faz um arco para a direita e depois para cima
                (0,0) a (1,1). A AUC da curva é 0,31.
Qual dos modelos a seguir tem um desempenho pior do que o acaso?
curva ROC que faz um arco para a direita e depois para cima
                (0,0) a (1,1). A AUC da curva é 0,32.
Este modelo tem uma AUC menor que 0,5, o que significa que ele tem um desempenho pior do que o acaso.
curva ROC que é aproximadamente uma linha reta da
                     (0,0) a (1,1), com alguns zigue-zagues. A curva tem
                     AUC de 0,508.
Este modelo tem um desempenho um pouco melhor do que o acaso.
Curva ROC que é uma reta diagonal de
                (0,0) a (1,1). A AUC da curva é 0,5.
Esse modelo tem o mesmo desempenho que o acaso.
curva ROC composta por duas linhas perpendiculares: uma vertical
      linha de (0,0) a (0,1) e uma linha horizontal de (0,1) a (1,1).
      Essa curva tem uma AUC de 1,0.
Esse é um classificador hipotético perfeito.

(Opcional, avançado) Pergunta bônus

Qual das seguintes mudanças pode ser muito pior do que a chance? modelo na pergunta anterior para fazer com que ele tenha um desempenho melhor do que o acaso?
Inverta as previsões, de modo que as previsões de 1 se tornem 0, e as previsões de 0 se tornam 1.
Se um classificador binário colocar exemplos de forma confiável na classes erradas com mais frequência do que acaso, alternando o rótulo da classe torna suas previsões melhores do que o acaso, sem ter que treinar o modelo novamente.
Faça com que ele sempre preveja a classe negativa.
Isso pode ou não melhorar o desempenho acima da chance. Além disso, quando discutidos na seção Acurácia, esse modelo não é útil.
Faça com que ele sempre preveja a classe positiva.
Isso pode ou não melhorar o desempenho acima da chance. Além disso, quando discutidos na seção Acurácia, esse modelo não é útil.

Imagine uma situação em que é melhor permitir que algum spam chegue ao do que enviar um e-mail importante para a empresa para a caixa de spam. Você treinou um classificador de spam para a situação em que a classe positiva é spam e a classe negativa não é spam. Qual dos seguintes pontos na curva ROC para seu classificador é preferível?

Uma curva ROC de AUC=0,84 mostrando três pontos na parte convexa de
       da curva que estão próximas de (0,1). O ponto A está em aproximadamente
       (0,25, 0,75). O ponto B está em aproximadamente (0,30, 0,90) e é
       o ponto que maximiza a TPR e a minimiza. Ponto
       C está em aproximadamente (0,4, 0,95).
Ponto A
Nesse caso de uso, é melhor minimizar falsos positivos, mesmo que os verdadeiros positivos também diminuam.
Ponto B
Esse limite equilibra verdadeiros e falsos positivos.
Ponto C
Esse limite maximiza os verdadeiros positivos (sinaliza mais spam) ao custo de mais falsos positivos (mais e-mails legítimos sinalizados como spam).