LoslegenKostenlos loslegen

Featureanzahl begrenzen

Wie du gesehen hast, erzeugt CountVectorizer mit den Standardeinstellungen ein Feature für jedes einzelne Wort in deinem Korpus. Das kann zu viel zu vielen Features führen, oft mit sehr geringem analytischem Mehrwert.

Dafür hat CountVectorizer Parameter, mit denen du die Anzahl der Features reduzieren kannst:

  • min_df: Verwende nur Wörter, die in mehr als diesem Prozentsatz der Dokumente vorkommen. So kannst du Ausreißerwörter entfernen, die sich nicht gut auf andere Texte übertragen lassen.
  • max_df: Verwende nur Wörter, die in weniger als diesem Prozentsatz der Dokumente vorkommen. Das ist hilfreich, um sehr häufige Wörter zu eliminieren, die in jedem Korpus vorkommen, ohne Mehrwert zu liefern, wie „and“ oder „the“.

Diese Übung ist Teil des Kurses

Feature Engineering für Machine Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Begrenze die Anzahl der Features im CountVectorizer, indem du die minimale Dokumenthäufigkeit eines Wortes auf 20 % und die maximale auf 80 % setzt.
  • Fitte und wende den Vektorisierer in einem Schritt auf die Spalte text_clean an.
  • Wandle dieses transformierte (sparsame) Array in ein NumPy-Array mit Zählwerten um.
  • Gib die Dimensionen des neuen, reduzierten Arrays aus.

Interaktive Übung

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

# Import CountVectorizer
from sklearn.feature_extraction.text import CountVectorizer

# Specify arguements to limit the number of features generated
cv = ____

# Fit, transform, and convert into array
cv_transformed = ____(speech_df['text_clean'])
cv_array = ____

# Print the array shape
print(____)
Code bearbeiten und ausführen