Inspection de votre modèle
Maintenant que vous avez construit un classificateur de "fake news", vous allez étudier ce qu'il a appris. Vous pouvez ramener les poids vectoriels importants à des mots réels à l'aide de quelques techniques d'inspection simples.
Votre classificateur tfidf Naive Bayes performant est disponible à l'adresse nb_classifier
, et les vecteurs à l'adresse tfidf_vectorizer
.
Cet exercice fait partie du cours
Introduction au traitement du langage naturel en Python
Instructions
- Enregistrez les étiquettes de classe sous
class_labels
en accédant à l'attribut.classes_
denb_classifier
. - Extrayez les caractéristiques à l'aide de la méthode
.get_feature_names()
detfidf_vectorizer
. - Créez un tableau zippé des coefficients du classificateur avec les noms des caractéristiques et triez-les par coefficients. Pour ce faire, utilisez d'abord
zip()
avec les argumentsnb_classifier.coef_[0]
etfeature_names
. Utilisez ensuite le sitesorted()
. - Imprimez les 20 premières caractéristiques pondérées pour la première étiquette de
class_labels
et imprimez les 20 dernières caractéristiques pondérées pour la deuxième étiquette declass_labels
. Cela 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:])