Mã hóa cột phân loại III: DictVectorizer
Rồi, một mẹo cuối cùng trước khi bạn bắt tay vào pipelines. Quy trình hai bước bạn vừa làm - LabelEncoder rồi đến OneHotEncoder - có thể được đơn giản hóa bằng cách dùng DictVectorizer.
Dùng DictVectorizer trên một DataFrame đã được chuyển thành dictionary cho phép bạn thực hiện cả label encoding và one-hot encoding chỉ trong một lần.
Nhiệm vụ của bạn là áp dụng chiến lược này trong bài tập này!
Bài tập này là một phần của khóa học
Gradient Boosting Cực Mạnh với XGBoost
Hướng dẫn bài tập
- Import
DictVectorizertừsklearn.feature_extraction. - Chuyển
dfthành một dictionary têndf_dictbằng phương thức.to_dict()với đối số"records". - Khởi tạo một đối tượng
DictVectorizertêndvvới tham sốsparse=False. - Áp dụng
DictVectorizerlêndf_dictbằng phương thức.fit_transform(). - Nhấn 'Gửi câu trả lời' để in ra 5 hàng đầu tiên thu được và vocabulary.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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_)