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

Ver Curso

Instruções de exercício

  • Salve os rótulos de classe como class_labels acessando o atributo .classes_ de nb_classifier.
  • Extraia os recursos usando o método .get_feature_names() de tfidf_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 argumentos nb_classifier.coef_[0] e feature_names. Em seguida, use o site sorted() 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 de class_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:])