Aan de slagGa gratis aan de slag

Je features beperken

Zoals je hebt gezien, maakt CountVectorizer met de standaardinstellingen een feature voor elk woord in je corpus. Dat kan veel te veel features opleveren, vaak inclusief woorden die weinig analytische waarde hebben.

Daarom heeft CountVectorizer parameters waarmee je het aantal features kunt verkleinen:

  • min_df : Gebruik alleen woorden die in meer dan dit percentage documenten voorkomen. Dit kun je gebruiken om uitbijterwoorden te verwijderen die niet generaliseren over teksten.
  • max_df : Gebruik alleen woorden die in minder dan dit percentage documenten voorkomen. Dit is handig om heel algemene woorden te elimineren die in elke corpus voorkomen zonder waarde toe te voegen, zoals "and" of "the".

Deze oefening maakt deel uit van de cursus

Feature engineering voor Machine Learning in Python

Cursus bekijken

Oefeninstructies

  • Beperk het aantal features in de CountVectorizer door het minimumaandeel documenten waarin een woord mag voorkomen op 20% te zetten en het maximum op 80%.
  • Fit en pas de vectorizer in één stap toe op de kolom text_clean.
  • Zet deze getransformeerde (spaarzame) array om naar een numpy-array met tellingen.
  • Print de afmetingen van de nieuwe, verkleinde array.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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