Tf-idf
Même si le comptage des occurrences de mots peut être utile pour construire des modèles, les mots très fréquents peuvent fausser les résultats. Pour éviter que ces mots courants ne dominent votre modèle, on peut appliquer une forme de normalisation. Dans cette leçon, vous allez utiliser le « Term frequency–inverse document frequency » (Tf-idf), comme expliqué dans la vidéo. Le Tf-idf réduit l’importance des mots fréquents et augmente le poids des mots rares, présents dans peu de documents.
Cet exercice fait partie du cours
Feature engineering pour le Machine Learning en Python
Instructions
- Importez
TfidfVectorizerdepuissklearn.feature_extraction.text. - Instanciez
TfidfVectorizeren limitant le nombre de caractéristiques à 100 et en supprimant les stop words anglais. - Ajustez et appliquez le vectoriseur en une seule étape sur la colonne
text_clean. - Créez un DataFrame
tv_dfcontenant les pondérations des mots et utilisez les noms de caractéristiques comme noms de colonnes.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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())