Kategorische Spalten kodieren III: DictVectorizer
Alles klar, noch ein letzter Trick, bevor du in Pipelines eintauchst. Den zweistufigen Prozess, den du gerade gesehen hast – LabelEncoder gefolgt von OneHotEncoder – kannst du mit einem DictVectorizer vereinfachen.
Wenn du einen DictVectorizer auf ein DataFrame anwendest, das zuvor in ein Dictionary umgewandelt wurde, erhältst du Label-Encoding und One-Hot-Encoding in einem Schritt.
Deine Aufgabe ist es, diese Strategie in dieser Übung umzusetzen!
Diese Übung ist Teil des Kurses
Extreme Gradient Boosting mit XGBoost
Anleitung zur Übung
- Importiere
DictVectorizeraussklearn.feature_extraction. - Wandle
dfmit der Methode.to_dict()und dem Argument"records"in ein Dictionary namensdf_dictum. - Instanziiere ein
DictVectorizer-Objekt namensdvmit dem Schlüsselwortargumentsparse=False. - Wende den
DictVectorizermit seiner Methode.fit_transform()aufdf_dictan. - Klicke auf "Antwort senden", um die ersten fünf resultierenden Zeilen und das Vokabular auszugeben.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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_)