Kodning av kategoriska kolumner III: DictVectorizer
Nu ett sista tips innan du går vidare till pipelines. De två steg du nyss gick igenom – LabelEncoder följt av OneHotEncoder – kan förenklas med hjälp av en DictVectorizer.
Genom att använda en DictVectorizer på en DataFrame som konverterats till en ordlista får du både label-kodning och one-hot-kodning i ett enda steg.
Din uppgift är att arbeta igenom den här strategin i den här övningen!
Den här övningen är en del av kursen
Extreme Gradient Boosting med XGBoost
Övningsinstruktioner
- Importera
DictVectorizerfrånsklearn.feature_extraction. - Konvertera
dftill en ordlista kalladdf_dictmed hjälp av dess.to_dict()-metod med"records"som argument. - Skapa en instans av ett
DictVectorizer-objekt kallatdvmed nyckelordsargumentetsparse=False. - Tillämpa
DictVectorizerpådf_dictmed hjälp av dess.fit_transform()-metod. - Klicka på Skicka in svar för att skriva ut de fem första raderna i resultatet samt vokabulären.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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_)