Кодування категоріальних стовпців III: DictVectorizer
Ще один фінальний прийом перед тим, як перейти до конвеєрів. Двокроковий процес, який ви щойно виконали — LabelEncoder, а потім OneHotEncoder — можна спростити за допомогою DictVectorizer.
Використання DictVectorizer для датафрейму, перетвореного на словник, дає змогу одночасно виконати й кодування міток, і one-hot кодування.
У цій вправі ваше завдання — реалізувати цей підхід!
Ця вправа є частиною курсу
Екстремальний градієнтний бустинг з XGBoost
Інструкції до вправи
- Імпортуйте
DictVectorizerізsklearn.feature_extraction. - Перетворіть
dfна словникdf_dict, використавши метод.to_dict()з аргументом"records". - Створіть об'єкт
DictVectorizerпід назвоюdvз іменованим аргументомsparse=False. - Застосуйте
DictVectorizerдоdf_dict, виконавши метод.fit_transform(). - Натисніть 'Submit Answer', щоб вивести перші п'ять рядків результату та словник ознак.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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_)