Na aprendizagem de máquinas, muitas vezes usamos os modelos de classificação para obter um resultado previsto dos dados populacionais. A classificação, que é uma das duas secções da aprendizagem supervisionada, trata de dados de diferentes categorias. O conjunto de dados de treinamento treina o modelo para prever os rótulos desconhecidos dos dados da população. Existem vários algoritmos, nomeadamente, regressão logística, K-nearest vizinho, árvore de decisão, Naive Bayes, etc. Todos estes algoritmos têm o seu próprio estilo de execução e diferentes técnicas de previsão. Mas, no final, precisamos de encontrar a eficácia de um algoritmo. Para encontrar o algoritmo mais adequado para um determinado problema de negócio, existem poucas técnicas de avaliação de modelos. Neste artigo serão discutidas diferentes técnicas de avaliação de modelos.
Provavelmente o nome do algoritmo foi tirado do estado de confusão com o qual ele lida. Se você se lembrar do teste de hipóteses, você pode se lembrar dos dois erros que definimos como tipo I e tipo II. As depicted in Fig.1, type-I error occurs when null hypothesis is rejected which should not be in actual. And type-II error occurs when although alternate hypothesis is true, you are failing to reject null hypothesis.
In figure 1 it is depicted clearly that the choice of confidence interval affects the probabilities of these errors to occur. But the fun is that if you try to reduce either if these errors, that will result the increase of the other one.
So, what is confusion matrix?
Confusion matrix is the image given above. É uma representação matricial dos resultados de qualquer teste binário. Por exemplo, vejamos o caso da previsão de uma doença. Você fez alguns testes médicos e, com a ajuda dos resultados desses testes, você vai prever se a pessoa está tendo uma doença. Então, na verdade você vai validar se a hipótese de declarar uma pessoa como tendo uma doença é aceitável ou não. Digamos que, entre 100 pessoas, você está prevendo que 20 pessoas tenham a doença. Na verdade, apenas 15 pessoas têm a doença e entre essas 15 pessoas você diagnosticou 12 pessoas corretamente. Então, se eu colocar o resultado em uma matriz de confusão, parecerá o seguinte –
p> Então, se compararmos fig.3 com fig.2 encontraremos –
- Falso Positivo: 12 (Você previu o caso positivo corretamente!)
- Falso Negativo: 77 (Você previu o caso negativo corretamente!)
- Falso Positivo: 8 (Oh! Você previu estas pessoas como tendo doença, mas na verdade elas não têm. Mas não se preocupe, isto pode ser corrigido em mais análises médicas. Portanto, este é um erro de baixo risco. Neste caso, este é um erro de tipo II).
- Falso Negativo: 3 (Oh ho! Você previu estes três coitados como aptos. Mas na verdade eles têm a doença. Isto é perigoso! Tenha cuidado! Isto é um erro de tipo I neste caso).
Agora se eu perguntar qual é a precisão do modelo de previsão que eu segui para obter estes resultados, a resposta deve ser a proporção do número previsto com precisão e o número total de pessoas que é (12+77)/100 = 0,89. Se você estudar bem a matriz de confusão, você encontrará as seguintes coisas –
- A linha superior está representando o número total de predição que você fez como tendo a doença. Entre essas previsões você previu corretamente 12 pessoas para ter a doença na realidade. Assim, a razão, 12/(12+8) = 0,6 é a medida da precisão do seu modelo na detecção de uma pessoa a ter a doença. Isto é chamado Precisão do modelo.
- Agora, pegue a primeira coluna. Esta coluna representa o número total de pessoas que estão tendo a doença de fato. E você previu corretamente para 12 delas. Então, a razão, 12/(12+3) = 0,8 é a medida da precisão do seu modelo para detectar uma pessoa com a doença de todas as pessoas que estão tendo a doença de fato. Isto é chamado de Recall.
Agora, você pode fazer a pergunta porque precisamos medir a precisão ou recall para avaliar o modelo?
A resposta é altamente recomendada quando um determinado resultado é muito sensível. Por exemplo, você vai construir um modelo para um banco para prever transações fraudulentas. Não é muito comum ter uma transação fraudulenta. Em 1000 transações, pode haver 1 transação que é fraude. Portanto, sem dúvida, o seu modelo irá prever uma transacção como não fraudulenta de forma muito precisa. Portanto, neste caso, a precisão total não importa, pois será sempre muito elevada, independentemente da precisão da previsão das transacções fraudulentas, uma vez que esta é de percentagem muito baixa em toda a população. Mas a previsão de uma transacção fraudulenta como não-fraudulenta não é desejável. Portanto, neste caso, a medição da precisão terá um papel vital na avaliação do modelo. Ajudará a compreender, a partir de todas as transacções fraudulentas reais, quantas está a prever. Se for baixa, mesmo que a precisão geral seja alta, o modelo não é aceitável.
Curva de Características Operacionais do Receptor (ROC)
Medir a área sob a curva ROC também é um método muito útil para avaliar um modelo. ROC é a razão entre a Taxa Positiva Verdadeira (TPR) e a Taxa Positiva Falsa (FPR) (ver fig.2). No nosso exemplo de detecção de doenças, TPR é a medida da relação entre o número de previsões precisas de pessoas com doença e o número total de pessoas com doença na realidade. A FPR é o rácio entre o número de pessoas que se prevê não terem a doença correctamente e o número total de pessoas que não têm a doença na realidade. Assim, se traçarmos a curva, ela vem assim –
A linha azul denota a mudança de TPR com FPR diferente para um modelo. Mais a razão da área sob a curva e a área total (100 x 100 neste caso) define mais a precisão do modelo. Se se tornar 1, o modelo será ajustado em excesso e se for igual abaixo de 0,5 (isto é, quando a curva está ao longo da linha diagonal pontilhada), o modelo será demasiado impreciso para usar.
Para modelos de classificação, existem muitos outros métodos de avaliação como gráficos de Ganho e Elevação, coeficiente de Gini, etc. Mas o conhecimento profundo sobre a matriz de confusão pode ajudar a avaliar qualquer modelo de classificação de forma muito eficaz. Assim, neste artigo eu tentei desmistificar as confusões em torno da matriz de confusão para ajudar os leitores.
Feliz modelagem!