Oi Pietro! Tudo bem com você? Espero que sim!
Primeiro queria te agradecer pelo comentário! Não tenha dúvidas que estamos buscando tornar os nossos cursos cada vez mais acessíveis para todos os públicos e comentários como o seu nos ajudam bastante nesse processo!
Para entender a matriz de confusão podemos, de início, usar a mesma ideia do classificador de diagnóstico de câncer apresentada na aula. Tendo o classificador pronto, como saberíamos se o modelo desenvolvido consegue diagnosticar todos os casos? Ou como saberíamos se o modelo previu corretamente os resultados? Isso tudo podemos descobrir com a matriz de confusão, pois essa matriz nos mostra os resultados das classificações em valores comparativos com os resultados corretos.
Pelo exemplo utilizado na aula temos o código:
#inicio do código
from sklearn.metrics import confusion_matrix
matriz_confusao = confusion_matrix(teste_y, classificador.predict(teste_kbest))
matriz_confusao
#fim do código
Depois de executado o método confusion_matrix
, o resultado da matriz de confusão é um array de dimensões 2 por 2:
#início do código
# confusion_matrix é igual a
array([[100, 5], [ 8, 58]], dtype=int64)
#fim do código
É importante atentar que o tamanho da matriz de confusão depende da quantidade de opções de classificação, por exemplo, se esse modelo fosse um classificador que define um tipo de flor entre 3 opções, a matriz de confusão teria dimensões 3 por 3, pois teríamos 3 classificações para analisar. Como o classificador da aula tem apenas 2 opções de classificação, o câncer é benigno ou maligno, a matriz de confusão tem dimensões 2 por 2.
Analisando o array matriz_confusao
temos que os elementos dessa matriz seguem as seguintes definições:
- Elemento na posição (0,0): representa a quantidade de classificações Verdadeiros Positivos, ou seja, a quantidade de vezes que o modelo acertou a predição positiva conforme os dados reais. No exemplo, o classificador previu corretamente 100 casos em que o resultado foi câncer benigno.
- Elemento na posição (0,1): representa a quantidade de classificações Falsos Negativos, ou seja, a quantidade de vezes que o modelo previu incorretamente um resultado como negativo. No exemplo, o classificador previu incorretamente 5 casos em que o resultado foi câncer maligno, sendo que a predição correta deveria ser câncer benigno.
- Elemento na posição (1,0): representa a quantidade de classificações Falsos Positivos, ou seja, a quantidade de vezes que o modelo previu incorretamente um resultado como positivo. No exemplo, o classificador previu incorretamente 8 casos em que o resultado foi câncer benigno, sendo que a predição correta deveria ser câncer maligno.
- Elemento na posição (1,1): representa a quantidade de classificações Verdadeiros Negativos, ou seja, a quantidade de vezes que o modelo acertou a predição negativa conforme os dados reais. No exemplo, o classificador previu corretamente 58 casos em que o resultado foi câncer maligno.
Por meio dessa análise, vimos que de 105 casos em que o câncer é benigno, o modelo classificou corretamente 100 casos e de 66 casos de câncer maligno, o modelo classificou corretamente 58 casos. Além disso, com as informações da matriz de confusão, você pode calcular a acurácia do modelo, as proporções de predições corretas e outras métricas importantes para medir a qualidade do modelo construído.
Se você quer saber mais sobre o método confusion_matrix
, você pode acessar a documentação.
Espero ter te ajudado! Se tiver mais alguma dúvida, não hesite em informar, estarei à disposição.
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!