Kodowanie kolumn kategorycznych III: DictVectorizer
Świetnie, jeszcze jedna sztuczka, zanim przejdziesz do potoków. Dwuetapowy proces, przez który właśnie przeszłeś – LabelEncoder a następnie OneHotEncoder – można uprościć, korzystając z DictVectorizer.
Użycie DictVectorizer na DataFrame przekonwertowanym do słownika pozwala uzyskać zarówno kodowanie etykiet, jak i kodowanie „one-hot" w jednym kroku.
Twoim zadaniem jest zastosowanie tej strategii w tym ćwiczeniu!
To ćwiczenie jest częścią kursu
Extreme Gradient Boosting with XGBoost
Instrukcje do ćwiczenia
- Zaimportuj
DictVectorizerzsklearn.feature_extraction. - Przekonwertuj
dfdo słownika o nazwiedf_dict, używając metody.to_dict()z argumentem"records". - Utwórz instancję obiektu
DictVectorizero nazwiedvz argumentem kluczowymsparse=False. - Zastosuj
DictVectorizernadf_dict, wywołując metodę.fit_transform(). - Kliknij „Prześlij odpowiedź", aby wyświetlić pięć pierwszych wierszy wyniku oraz słownik cech.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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_)