Aan de slagBegin gratis

Langere n-grams gebruiken

Tot nu toe heb je features gemaakt op basis van losse woorden in elke tekst. Dat kan best krachtig zijn in een machine learningmodel, maar je maakt je misschien zorgen dat er veel context verloren gaat wanneer je alleen naar afzonderlijke woorden kijkt. Om dit op te vangen kun je bij het maken van modellen n-grams gebruiken: reeksen van n woorden die samen worden gegroepeerd. Bijvoorbeeld:

  • bigrams: reeksen van twee opeenvolgende woorden
  • trigrams: reeksen van drie opeenvolgende woorden

Deze kun je automatisch in je gegevensset maken door het argument ngram_range op te geven als een tuple (n1, n2), waarbij alle n-grams in het bereik van n1 tot en met n2 worden opgenomen.

Deze oefening maakt deel uit van de cursus

Feature engineering voor Machine Learning in Python

Bekijk cursus

Oefeninstructies

  • Importeer CountVectorizer uit sklearn.feature_extraction.text.
  • Instantieer CountVectorizer waarbij je alleen trigrams meeneemt.
  • Fit de vectorizer en pas hem in één stap toe op de kolom text_clean.
  • Print de featurenamen die door de vectorizer zijn gegenereerd.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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.____)
Code bewerken en uitvoeren