Inspecionando seu modelo
Agora que você criou um classificador de "notícias falsas", você investigará o que ele aprendeu. Você pode mapear os pesos de vetores importantes de volta para palavras reais usando algumas técnicas simples de inspeção.
Você tem seu classificador tfidf Naive Bayes de bom desempenho disponível como nb_classifier
e os vetores como tfidf_vectorizer
.
Este exercício faz parte do curso
Introdução ao processamento de linguagem natural em Python
Instruções de exercício
- Salve os rótulos de classe como
class_labels
acessando o atributo.classes_
denb_classifier
. - Extraia os recursos usando o método
.get_feature_names()
detfidf_vectorizer
. - Crie uma matriz compactada dos coeficientes do classificador com os nomes dos recursos e classifique-os pelos coeficientes. Para fazer isso, primeiro use
zip()
com os argumentosnb_classifier.coef_[0]
efeature_names
. Em seguida, use o sitesorted()
para isso. - Imprima os 20 principais recursos ponderados para o primeiro rótulo de
class_labels
e imprima os 20 últimos recursos ponderados para o segundo rótulo declass_labels
. Isso foi feito para você.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# Get the class labels: class_labels
class_labels = ____
# Extract the features: feature_names
feature_names = ____
# Zip the feature names together with the coefficient array and sort by weights: feat_with_weights
feat_with_weights = ____(____(____, ____))
# Print the first class label and the top 20 feat_with_weights entries
print(class_labels[0], feat_with_weights[:20])
# Print the second class label and the bottom 20 feat_with_weights entries
print(class_labels[1], feat_with_weights[-20:])