Categorische kolommen encoden III: DictVectorizer
Oké, nog één laatste truc voordat je met pipelines aan de slag gaat. Het twee-stappenproces dat je net hebt gedaan — LabelEncoder gevolgd door OneHotEncoder — kun je vereenvoudigen met een DictVectorizer.
Door een DictVectorizer te gebruiken op een DataFrame dat is omgezet naar een dictionary, krijg je zowel label-encoding als one-hot-encoding in één keer.
In deze oefening ga je deze aanpak stap voor stap toepassen!
Deze oefening maakt deel uit van de cursus
Extreme Gradient Boosting met XGBoost
Oefeninstructies
- Importeer
DictVectorizeruitsklearn.feature_extraction. - Zet
dfom naar een dictionary met de naamdf_dictmet de methode.to_dict()en het argument"records". - Maak een
DictVectorizer-object met de naamdvmet het keywordargumentsparse=False. - Pas de
DictVectorizertoe opdf_dictmet de methode.fit_transform(). - Klik op 'Antwoord verzenden' om de eerste vijf resulterende rijen en de woordenschat af te drukken.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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_)