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
Oefeninstructies
- Importeer
TfidfVectorizeruitsklearn.feature_extraction.text. - Instantieer
TfidfVectorizerwaarbij 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_dfmet 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())