Кодирование категориальных столбцов III: DictVectorizer
Отлично, последний приём перед тем, как мы перейдём к конвейерам. Двухэтапный процесс, который вы только что выполнили — LabelEncoder с последующим OneHotEncoder — можно упростить с помощью DictVectorizer.
Применение DictVectorizer к DataFrame, предварительно преобразованному в словарь, позволяет выполнить метковое и унитарное кодирование за один шаг.
В этом упражнении вам предстоит реализовать именно такой подход!
Это упражнение является частью курса
Экстремальный градиентный бустинг с XGBoost
Инструкции к упражнению
- Импортируйте
DictVectorizerизsklearn.feature_extraction. - Преобразуйте
dfв словарь с именемdf_dict, используя метод.to_dict()с аргументом"records". - Создайте экземпляр
DictVectorizerс именемdv, передав именованный аргументsparse=False. - Примените
DictVectorizerкdf_dict, вызвав метод.fit_transform(). - Нажмите «Отправить ответ», чтобы вывести первые пять строк результата и словарь признаков.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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_)