Aan de slagGa gratis aan de slag

Tf-idf

Hoewel het tellen van woordvoorkomens nuttig kan zijn om modellen te bouwen, kunnen woorden die heel vaak voorkomen de resultaten onbedoeld scheeftrekken. Om te voorkomen dat deze veelvoorkomende woorden je model overheersen, kun je een vorm van normalisatie gebruiken. In deze les ga je Term frequency–inverse document frequency (Tf-idf) gebruiken, zoals in de video besproken. Tf-idf zorgt ervoor dat veelvoorkomende woorden een lagere waarde krijgen, terwijl woorden die in weinig documenten voorkomen zwaarder meewegen.

Deze oefening maakt deel uit van de cursus

Feature engineering voor Machine Learning in Python

Cursus bekijken

Oefeninstructies

  • Importeer TfidfVectorizer uit sklearn.feature_extraction.text.
  • Instantieer TfidfVectorizer waarbij je het aantal features beperkt tot 100 en Engelse stopwoorden verwijdert.
  • Fit en pas de vectorizer in één stap toe op de kolom text_clean.
  • Maak een DataFrame tv_df met de gewichten van de woorden en gebruik de featurenamen als kolomnamen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Import TfidfVectorizer
____

# Instantiate TfidfVectorizer
tv = ____

# Fit the vectroizer and transform the data
tv_transformed = ____(speech_df['text_clean'])

# Create a DataFrame with these features
tv_df = pd.DataFrame(tv_transformed.____, 
                     columns=tv.____).add_prefix('TFIDF_')
print(tv_df.head())
Code bewerken en uitvoeren