对分类列进行编码 III:DictVectorizer
在进入流水线之前,还有最后一个小技巧。您刚才使用的两步流程——先用 LabelEncoder,再用 OneHotEncoder——可以通过使用 DictVectorizer 来简化。
将 DataFrame 转换为字典后,再对其使用 DictVectorizer,即可一次性完成标签编码与独热编码。
本练习中请按照这一思路完成操作!
本练习是课程的一部分
使用 XGBoost 的极端梯度提升
练习说明
- 从
sklearn.feature_extraction导入DictVectorizer。 - 使用
.to_dict()方法并传入参数"records",将df转换为名为df_dict的字典。 - 实例化一个
DictVectorizer对象dv,关键字参数设为sparse=False。 - 使用
.fit_transform()方法将DictVectorizer应用于df_dict。 - 点击 "提交答案" 以打印结果的前 5 行和词汇表。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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_)