Gráfico de Curva ROC

A curva ROC mostra o quão bom o modelo criado pode distinguir entre duas classes, já que é utilizado para classificação. Essas duas classes podem ser 0 e 1, ou positivo e negativo, por exemplo.

Dessa maneira, para testar o quão bem nosso modelo separa as classes 0 e 1 em termos de probabilidades, podemos variar esse ponto de corte de 0 a 1, e ver como a taxa de acerto do modelo se comporta. 

A curva ROC tem dois parâmetros.

No eixo x temos a taxa de falsos positivos, que é dada por:

falsos positivos ÷ (falsos positivos + verdadeiros negativos)


Já no eixo y temos a taxa de verdadeiros positivos, que é dada por:

verdadeiros positivos ÷ (verdadeiros positivos + falsos negativos)

 

Para traçar a curva ROC fazemos o seguinte: para cada ponto de corte no intervalo entre 0 e 1 calculamos a taxa de falsos positivos (eixo x) e a taxa de verdadeiros positivos (eixo y), e isto gera um ponto no gráfico xy. Para obter a curva ROC, basta selecionar diversos pontos de corte e ligar os pontos.   

Abaixo temos um exemplo de curva ROC. 

grafico_roc

No nosso caso, construímos 3 curvas ROC, utilizando a tabela de treino, validação e teste, para justamente verificarmos se não há problemas com a amostragem e overfitting. No gráfico também há uma reta vermelha em que podemos tomar como base, ou seja, caso o modelo for completamente aleatório ele deverá ser como esta, sendo assim quanto mais próximo desta reta pior é o modelo.  

Assim, na tentativa de simplificar a análise da ROC, a AUC (area under the ROC curve) nada mais é que uma maneira de resumir a curva ROC em um único valor, agregando todos os pontos de corte da ROC, calculando a área sob a curva ROC. A ideia é a de que se a taxa de verdadeiros positivos para diversos pontos de corte é alta, a área sob a curva será mais alta, e por consequência, o AUC também será alto, o que é um indicativo de que o modelo tem boa performance.