Encoder des colonnes catégorielles III : DictVectorizer
Très bien, une dernière astuce avant de passer aux pipelines. Le processus en deux étapes que vous venez de suivre — LabelEncoder puis OneHotEncoder — peut être simplifié en utilisant un DictVectorizer.
L’utilisation d’un DictVectorizer sur un DataFrame converti en dictionnaire permet d’obtenir à la fois un encodage d’étiquettes et un one-hot encoding en une seule opération.
Votre tâche est de mettre en pratique cette stratégie dans cet exercice !
Cet exercice fait partie du cours
Extreme Gradient Boosting avec XGBoost
Instructions
- Importez
DictVectorizerdepuissklearn.feature_extraction. - Convertissez
dfen un dictionnaire nommédf_dictà l’aide de sa méthode.to_dict()avec"records"comme argument. - Instanciez un objet
DictVectorizerappelédvavec l’argument nommésparse=False. - Appliquez le
DictVectorizersurdf_dicten utilisant sa méthode.fit_transform(). - Cliquez sur "Soumettre la réponse" pour afficher les cinq premières lignes du résultat ainsi que le vocabulaire.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Import DictVectorizer
____
# Convert df into a dictionary: df_dict
df_dict = ____
# Create the DictVectorizer object: dv
dv = ____
# Apply dv on df: df_encoded
df_encoded = ____
# Print the resulting first five rows
print(df_encoded[:5,:])
# Print the vocabulary
print(dv.vocabulary_)