Tf-idf
Même si le décompte des occurrences de mots peut être utile pour bâtir des modèles, les mots très fréquents risquent de fausser les résultats. Pour éviter que ces mots communs dominent votre modèle, on peut appliquer une forme de normalisation. Dans cette leçon, vous utiliserez la pondération « term frequency–inverse document frequency » (Tf-idf), comme expliqué dans la vidéo. Le Tf-idf réduit l'importance des mots courants et augmente le poids des mots qui apparaissent dans peu de documents.
Cette activité fait partie du cours
Ingénierie des caractéristiques pour le Machine Learning en Python
Instructions de l’exercice
- Importez
TfidfVectorizerdepuissklearn.feature_extraction.text. - Instanciez
TfidfVectorizeren limitant le nombre de caractéristiques à 100 et en retirant les stop words anglais. - Ajustez et appliquez le vectoriseur sur la colonne
text_cleanen une seule étape. - Créez un DataFrame
tv_dfqui contient les poids des mots et dont les noms des caractéristiques servent de noms de colonnes.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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())