Examiner votre modèle
Maintenant que vous avez construit un classificateur de « fake news », vous allez analyser ce qu’il a appris. Vous pouvez faire correspondre les poids importants du vecteur à des mots réels en utilisant quelques techniques d’inspection simples.
Votre classificateur Naive Bayes avec tfidf, performant, est disponible sous nb_classifier, et le vectoriseur sous tfidf_vectorizer.
Cet exercice fait partie du cours
Introduction au Natural Language Processing (NLP) en Python
Instructions
- Enregistrez les étiquettes de classes dans
class_labelsen accédant à l’attribut.classes_denb_classifier. - Extrayez les caractéristiques avec la méthode
.get_feature_names()detfidf_vectorizer. - Créez un tableau zippé des coefficients du classificateur avec les noms de caractéristiques et triez-le par coefficients. Pour cela, utilisez d’abord
zip()avec les argumentsnb_classifier.coef_[0]etfeature_names. Ensuite, appliquezsorted()dessus. - Affichez les 20 caractéristiques les plus pondérées pour la première étiquette de
class_labelset affichez les 20 caractéristiques les moins pondérées pour la deuxième étiquette declass_labels. Ceci a été fait pour vous.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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:])