Längere N‑Grams verwenden
Bisher hast du Merkmale auf Basis einzelner Wörter in den Texten erstellt. Das kann in einem Machine‑Learning‑Modell sehr wirkungsvoll sein, aber vielleicht sorgst du dich, dass durch die Betrachtung einzelner Wörter viel Kontext verloren geht. Um dem bei der Modellerstellung zu begegnen, kannst du N‑Grams verwenden – also Folgen aus n zusammengefassten Wörtern. Zum Beispiel:
- Bigrams: Folgen aus zwei aufeinanderfolgenden Wörtern
- Trigrams: Folgen aus drei aufeinanderfolgenden Wörtern
Diese kannst du in deinem Datensatz automatisch erstellen, indem du das Argument ngram_range als Tupel (n1, n2) angibst. Dadurch werden alle N‑Grams im Bereich von n1 bis n2 einbezogen.
Diese Übung ist Teil des Kurses
<Kurs>Feature Engineering für Machine Learning in Python</Kurs>Übungsanweisungen
- Importiere
CountVectorizeraussklearn.feature_extraction.text. - Instanziiere
CountVectorizerund berücksichtige dabei nur Trigrams. - Fitte den Vektorisierer und wende ihn in einem Schritt auf die Spalte
text_cleanan. - Gib die vom Vektorisierer erzeugten Feature‑Namen aus.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Import CountVectorizer
from sklearn.feature_extraction.text import ____
# Instantiate a trigram vectorizer
cv_trigram_vec = CountVectorizer(max_features=100,
stop_words='english',
____)
# Fit and apply trigram vectorizer
cv_trigram = ____(speech_df['text_clean'])
# Print the trigram features
print(cv_trigram_vec.____)