Skip to content

10. Avaliação do Modelo KNN

A avaliação do modelo KNN é feita com os dados de teste, utilizando métricas de acurácia, relatório de classificação e matriz de confusão.

from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
import seaborn as sns
import matplotlib.pyplot as plt
y_pred = knn.predict(X_test)
print('Acurácia:', accuracy_score(y_test, y_pred))
print(classification_report(y_test, y_pred))
sns.heatmap(confusion_matrix(y_test, y_pred), annot=True, fmt='d')
plt.xlabel('Predito')
plt.ylabel('Real')
plt.savefig('imagens/matriz_confusao_knn.png')
plt.show()

O desempenho do modelo pode ser comparado com o da árvore de decisão para verificar qual abordagem é mais eficaz para este problema.

Métricas do Modelo KNN
ClassePrecisionRecallF1-scoreSuporte
00.800.760.78100
10.770.810.79100
Média0.780.780.78200

Acurácia: 0.78
Matriz de Confusão
Predito 0Predito 1
Real 07624
Real 11981
Interpretação
  • O modelo apresenta boa acurácia e equilíbrio entre precisão e recall.
  • Erra mais ao prever alunos reprovados do que aprovados.


A matriz de confusão apresentada acima permite avaliar quantitativamente os acertos e erros do modelo KNN. Para complementar essa análise, a visualização da fronteira de decisão mostra como o algoritmo separa as classes no espaço das variáveis, evidenciando o comportamento do classificador.

Fronteira de Decisão do KNN

O gráfico acima mostra como o modelo KNN separa as classes com base em duas variáveis categóricas. As regiões coloridas representam as áreas de decisão do algoritmo, ilustrando a capacidade do modelo de classificar os alunos.