CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Importez TfidfVectorizer depuis sklearn.feature_extraction.text.
  • Instanciez TfidfVectorizer en limitant le nombre de caractéristiques à 100 et en retirant les stop words anglais.
  • Ajustez et appliquez le vectoriseur sur la colonne text_clean en une seule étape.
  • Créez un DataFrame tv_df qui 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())
Modifier et exécuter le code