Limiter vos variables
Comme vous l’avez constaté, utiliser CountVectorizer avec ses paramètres par défaut crée une variable pour chaque mot du corpus. Cela peut générer un nombre beaucoup trop important de variables, souvent avec très peu de valeur analytique.
Pour cela, CountVectorizer propose des paramètres permettant de réduire le nombre de variables :
min_df: n’utiliser que les mots présents dans plus de ce pourcentage de documents. Cela permet d’éliminer les mots extrêmes qui ne se généralisent pas d’un texte à l’autre.max_df: n’utiliser que les mots présents dans moins de ce pourcentage de documents. Utile pour supprimer les mots très fréquents qui apparaissent dans tous les corpus sans apporter de valeur, comme « and » ou « the ».
Cet exercice fait partie du cours
Feature engineering pour le Machine Learning en Python
Instructions
- Limitez le nombre de variables dans CountVectorizer en fixant le nombre minimal de documents dans lesquels un mot peut apparaître à 20 % et le maximum à 80 %.
- Ajustez et appliquez le vectoriseur sur la colonne
text_cleanen une seule étape. - Convertissez ce tableau transformé (creux) en un tableau numpy de comptes.
- Affichez les dimensions du nouveau tableau réduit.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Import CountVectorizer
from sklearn.feature_extraction.text import CountVectorizer
# Specify arguements to limit the number of features generated
cv = ____
# Fit, transform, and convert into array
cv_transformed = ____(speech_df['text_clean'])
cv_array = ____
# Print the array shape
print(____)