LoslegenKostenlos loslegen

Dein Modell untersuchen

Jetzt, da du einen „Fake News“-Klassifikator gebaut hast, untersuchst du, was er gelernt hat. Du kannst die wichtigen Vektor-Gewichte mit einfachen Inspektionstechniken wieder auf tatsächliche Wörter abbilden.

Dir stehen dein gut funktionierender TF-IDF-Naive-Bayes-Klassifikator nb_classifier und die Vektoren tfidf_vectorizer zur Verfügung.

Diese Übung ist Teil des Kurses

Einführung in Natural Language Processing mit Python

Kurs anzeigen

Anleitung zur Übung

  • Speichere die Klassenlabels als class_labels, indem du auf das Attribut .classes_ von nb_classifier zugreifst.
  • Extrahiere die Features mit der Methode .get_feature_names() von tfidf_vectorizer.
  • Erstelle ein gezipptes Array aus den Klassifikator-Koeffizienten und den Feature-Namen und sortiere es nach den Koeffizienten. Verwende dazu zunächst zip() mit den Argumenten nb_classifier.coef_[0] und feature_names. Wende anschließend sorted() darauf an.
  • Gib die obersten 20 gewichteten Features für das erste Label von class_labels aus und die untersten 20 gewichteten Features für das zweite Label von class_labels. Das wurde bereits für dich erledigt.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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:])
Code bearbeiten und ausführen