Limiter vos caractéristiques
Comme vous l'avez vu, utiliser CountVectorizer avec ses paramètres par défaut crée une caractéristique pour chaque mot de votre corpus. Cela peut générer beaucoup trop de caractéristiques, y compris des éléments qui apporteront très peu de valeur analytique.
Pour cette raison, CountVectorizer offre des paramètres que vous pouvez définir pour réduire le nombre de caractéristiques :
min_df: Utiliser seulement les mots qui apparaissent dans plus que ce pourcentage de documents. Cela permet de retirer les mots atypiques qui ne se généraliseront pas d'un texte à l'autre.max_df: Utiliser seulement les mots qui apparaissent dans moins que ce pourcentage de documents. C'est utile pour éliminer les mots très courants qui figurent dans tous les corpus sans ajouter de valeur, comme « and » ou « the ».
Cette activité fait partie du cours
Ingénierie des caractéristiques pour le Machine Learning en Python
Instructions de l’exercice
- Limitez le nombre de caractéristiques dans CountVectorizer en fixant le pourcentage minimal de documents où un mot peut apparaître à 20 % et le maximal à 80 %.
- Ajustez et appliquez le vectoriseur en une seule étape sur la colonne
text_clean. - Convertissez ce tableau transformé (creux) en un tableau numpy avec les décomptes.
- Affichez les dimensions du nouveau tableau réduit.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(____)