Inspektion deines Modells

Jetzt, wo du einen "Fake News"-Klassifikator erstellt hast, wirst du untersuchen, was er gelernt hat. Du kannst die wichtigen Vektorgewichte mit einigen einfachen Inspektionstechniken auf die tatsächlichen Wörter zurückführen.

Du hast deinen gut funktionierenden tfidf Naive Bayes Klassifikator als nb_classifier und die Vektoren als tfidf_vectorizer zur Verfügung.

Diese Übung ist Teil des Kurses

Einführung in die natürliche Sprachverarbeitung in Python

Kurs anzeigen

Anleitung zur Übung

  • Speichere die Klassenbezeichnungen als class_labels, indem du auf das Attribut .classes_ von nb_classifier zugreifst.
  • Extrahiere die Merkmale mit der Methode .get_feature_names() von tfidf_vectorizer.
  • Erstelle ein gezipptes Array der Klassifikator-Koeffizienten mit den Merkmalsnamen und sortiere sie nach den Koeffizienten. Dazu verwendest du zunächst zip() mit den Argumenten nb_classifier.coef_[0] und feature_names. Dann verwende sorted() dafür.
  • Drucke die oberen 20 gewichteten Merkmale für das erste Label von class_labels und die unteren 20 gewichteten Merkmale für das zweite Label von class_labels. Das haben wir für dich getan.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# 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:])