Längere n-Gramme verwenden
Bisher hast du Merkmale basierend auf einzelnen Wörtern in den Texten erstellt. Das kann in einem Machine-Learning-Modell sehr wirkungsvoll sein, aber möglicherweise geht viel Kontext verloren, wenn man Wörter isoliert betrachtet. Um dem bei der Modellerstellung entgegenzuwirken, kannst du n-Gramme verwenden – Sequenzen aus n zusammenhängenden Wörtern. Zum Beispiel:
- Bigramme: Sequenzen aus zwei aufeinanderfolgenden Wörtern
- Trigramme: Sequenzen aus drei aufeinanderfolgenden Wörtern
Diese können automatisch in deinem Datensatz erstellt werden, indem du das Argument ngram_range als Tupel (n1, n2) angibst, wobei alle n-Gramme im Bereich von n1 bis n2 eingeschlossen werden.
Diese Übung ist Teil des Kurses
Feature Engineering für Machine Learning in Python
Anleitung zur Übung
- Importiere
CountVectorizeraussklearn.feature_extraction.text. - Instanziiere
CountVectorizer, wobei nur Trigramme berücksichtigt werden. - Fitte den Vektorisierer und wende ihn in einem Schritt auf die Spalte
text_cleanan. - Gib die vom Vektorisierer erzeugten Feature-Namen aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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.____)