开始使用免费开始使用

对分类列进行编码 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_)
编辑并运行代码