Aan de slagGa gratis aan de slag

Je model inspecteren

Nu je een "fake news"-classifier hebt gebouwd, ga je onderzoeken wat het heeft geleerd. Je kunt de belangrijke vectorgewichten terugvertalen naar echte woorden met een paar eenvoudige inspectietechnieken.

Je goed presterende tfidf Naive Bayes-classifier is beschikbaar als nb_classifier, en de vectoren als tfidf_vectorizer.

Deze oefening maakt deel uit van de cursus

Introductie tot Natural Language Processing in Python

Cursus bekijken

Oefeninstructies

  • Sla de klasselabels op als class_labels via het attribuut .classes_ van nb_classifier.
  • Extraheer de features met de methode .get_feature_names() van tfidf_vectorizer.
  • Maak een gezipte array van de coëfficiënten van de classifier met de featurenamen en sorteer ze op de coëfficiënten. Gebruik hiervoor eerst zip() met de argumenten nb_classifier.coef_[0] en feature_names. Gebruik daarna sorted() hierop.
  • Print de bovenste 20 features met het hoogste gewicht voor het eerste label van class_labels en print de onderste 20 features met het laagste gewicht voor het tweede label van class_labels. Dit is al voor je gedaan.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren