有些特征是数值型的,例如“学校毕业率”,而其他特征是分类型的,比如学校名称。我已经对分类特征使用了标签编码器,将它们转换为整数。
现在我有一个数据框,包含浮点数和整数,分别代表数值特征和经过标签编码器转换的分类特征。
我不知道如何继续进行学习器的使用,我是否需要使用独热编码?如果需要,我该如何操作?根据我目前的理解,我不能直接将数据框传递给sklearn的OneHotEncoder,因为其中包含浮点数。我是否应该对所有特征应用标签编码器来解决这个问题?
来自我的数据框的样本数据。OPEID和opeid6使用标签编码器进行了转换
回答:
只需使用OneHotEncoder
的categorical_features
参数来选择哪些特征是分类特征:
categorical_features: “all”或索引数组或掩码:
指定哪些特征被视为分类特征。
- ‘all’(默认):所有特征都被视为分类特征。
- 索引数组:分类特征索引的数组。
掩码:长度为n_features且dtype=bool的数组。
非分类特征总是堆叠在矩阵的右侧。