Pular para o conteúdo

O que é a Matriz de Confusão?

A matriz de confusão é uma tabela que permite extrair métricas que auxiliam na avaliação de modelos de machine learning para classificação — quando a variável resposta é categórica. Entenda os detalhes neste artigo.

Contexto: Avaliação de Modelos de Classificação

É comum que no dia a dia do trabalho de cientistas de dados sejam aplicados modelos com variadas parametrizações e também diferentes famílias de modelos sobre um mesmo conjunto de dados de treino.

Com isso, o tema avaliação de modelos de machine learning possui uma grande relevância.

Neste artigo vamos explorar como a matriz de confusão (do inglês confusion matrix) auxilia na avaliação de modelos de classificação, nos quais a variável resposta é categórica.

Além disso, o foco principal será dado à avaliação de modelos binários, nos quais a variável resposta tem apenas duas possibilidades, como: sim ou não; 1 ou 0; certo ou errado; pago ou não pago, verdadeiro ou falso, entre outros.

Antes de entrarmos no mérito da matriz confusão propriamente dita, segue uma contextualização importante para facilitar o entendimento.

Introdução à Matriz Confusão: a Acurácia e Precisão

O caso mais clássico e certamente o mais utilizado de classificador é o classificador binário: em uma tentativa, ou acerta ou erra.

Com base neste tipo de classificador é possível construir uma grande quantidade de métricas de avaliação.

Na prática, é comum que os analistas, cientistas de dados, etc se refiram à assertividade de um classificador apenas pelo percentual de acertos (que reflete a métrica chamada de acurácia); ou ainda pelo percentual de casos positivos que o modelo de fato acertou (que trata da métrica chamada de precisão).

Veja:

Acurácia é o percentual de acertos sobre todas as apostas do algoritmo.

    \[ Acurácia = \frac{Acertos}{Total} \]

A acurácia, porém, possui diversas limitações, como por exemplo a possibilidade de viesar o entendimento quando as classes da variável resposta não são balanceadas. Veja;

Imagine uma base de dados cuja variável resposta consiste no cliente pagar ou não pagar, na qual apenas 1% de clientes não pagam. Neste caso qualquer modelo que chutar que em 100% das vezes ocorrerá pagamentos acertará 99% das vezes.

Sendo assim, em alguns casos, o conceito de precisão pode se encaixar melhor. A precisão olha apenas para o percentual de preditos positivos corretos dentro de todos casos preditos positivos.

    \[ Precisão = \frac{\text{Respostas postivas corretas}}{\text{Total de positivos preditos}} \]

Seguindo o exemplo acima, olhar para a precisão seria considerar o percentual de indivíduos não pagantes preditos sobre os que de fato não pagaram, caso “não pagar” fosse a categoria “1” da variável binária.

Porém, na avaliação de classificadores binários apenas a acurácia e a precisão não são suficientes. É possível extrair diversas outras métricas. É aí que entra a importância de conhecer e compreender a matriz de confusão.

Tipos de Erros e Acertos em um Classificador Binário

Para entender melhor este tema é preciso incialmente compreender os tipos de erros e acertos possíveis em classificadores.

  • Verdadeiro Positivo (VP): falou que seria, e foi.
  • Verdadeiro Negativo (VN): falou que não seria, e não foi.
  • Falso Positivo (FP): falou que seria, mas não foi.
  • Falso Negativo (FN): falou que não seria, mas foi.

O que é a Matriz de Confusão?

A matriz de confusão é uma tabela comparativa dos valores que um algoritmo trouxe como predição em relação aos valores reais ocorridos.

Ou seja, depois de treinar um modelo binário de machine learning e aplicar as predições sobre o conjunto de dados separado para teste, o resultado obtido será expresso em uma coluna com as predições.

Dado que os dados separados para teste em um modelo de aprendizado de máquina são também dados passados — sobre os quais sabemos o valor real da variável resposta —, é possível comparar a coluna de predições (já com valores de 0 ou 1) é com a coluna de valores reais ocorridos por meio de uma tabela de contingência 2×2.

E assim temos a tabela (ou matriz) de confusão (confusion matrix):

Real
Positivo = 1
Real
Negativo = 0
Predito
Positivo = 1
VP FP
Predito
Negativo = 0
FN VN

Métricas Extraídas da Matriz Confusão

Veja os seguitnes questionamentos:

Os custos atrelados a cada tipo de erro possível são os mesmos? Ou ainda, os benefícios associados a cada tipo de acerto possuem o mesmo peso?

Para responder a estas perguntas é preciso olhar para as taxas que podem ser extraídas da matriz de confusão. Estas taxas resumem a capacidade de um modelo de acertar suas predições, cada uma apresentando um olhar diferente. Veja:

Métrica Fórmula Exemplo
Taxa de Verdadeiro Positivo (TVP), Sensibilidade ou Recall TVP = VP / (FN+VP) 72 %
Taxa de Falso Positivo (TFP, ou 1 – Especificidade) TFP = FP / (VN+FP) 4 %
Taxa de Verdadeiro Negativo (TVN) ou Especificidade TVN = VN / (VN+FP) 96 %
Taxa de Falso Negativo (TFN) TFN = FN / (FN+VP) 28 %
Acurácia Acc = (VP+VN) / (VP+VN+FP+FN) 85 %
Precisão Prec = VP / (VP+FP) 93 %

Resumidamente, cada uma delas diz o seguinte:

  • Taxa de Verdadeiro Positivo (TVP): percentual que foi predito positivo corretamente sobre o total que de fato era positivo.

  • Taxa de Falso Positivo (TFP): percentual que foi predito positivo sobre o total que de fato era negativo.

  • Taxa de Verdadeiro Negativo (TVN): percentual que foi predito negativo corretamente sobre o total que de fato era negativo.

  • Taxa de Falso Negativo (TFN): percentual que foi predito negativo sobre o total que de fato era positivo.

Lembrando que a precisão e a acurácia já foram apresentadas no início deste artigo.

Considerações sobre a matriz de confusão

Neste artigo foi apresentada a matriz de confusão. Este é um tema muito importante na avaliação de modelos de classificação quando o assunto é aprendizado de máquina.

Um ponto importante de ressaltar é que um único modelo pode ter inúmeras matrizes de confusão. Isto ocorre porque o que determina se uma predição de um algoritmo será 0 ou 1 é o ponto de corte (threshold) escolhido na probabilidade estimada pelo modelo. Isso ocorre porque os modelos geralmente trazem como resultado uma probabilidade estimada entre 0 e 1, mas para montar a matriz de confusão é preciso ter os valores já preditos de forma binária.

Sendo assim, um mesmo modelo pode ter uma matriz de confusão satisfatória ou completamente ruim, dependendo do threshold escolhido. Por fim, se seu objetivo for comparar modelos com base nas probabilidades estimadas e não nas predições binárias apenas, vale verificar o artigo sobre a Curva ROC e a Área sob a Curva (AUC).

Na prática, geralmente um modelo é escolhido com base em métricas que consideram toda a distribuição de probabilidades estimada. Depois é escolhido um ponto de corte na probaibldiade para chegar aos valores preditos e aí sim é criada a matriz de confusão.

Mais conteúdo sobre Ciência de Dados

Referências

PROVOST, F., FAWCETT, T. (2016). Data science para negócios: o que você precisa saber sobre mineração de dados e pensamento analítico de dados. Rio de Janeiro: Alta Books.

Vale também conferir o material do Wikipedia sobre Matriz de Confusão.