使用pandas的get_dummies函数对分类特征进行OneHot编码和哑编码
get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)
常用参数解释:
data: DataFrame或Series对象
prefix: 编码后特征名称的前缀
prefix_sep: 编码后特征名称的前缀,默认使用“_”进行分隔
columns: 默认为None,默认对data里面的所有object对象和category对象进行编码,如果指定columns,则只对指定的特征进行编码,但是必须保证columns的长度与prefix的长度一致
drop_first: 默认为False,表示是否丢弃OneHot编码后的第一列,因为丢弃的一列可以通过其他剩余的k-1列计算得到,也就变成了哑变量编码
1、构造带有分类特征的DataFrame
2、对分类特征进行OneHot编码
3、对分类特征进行哑编码
OneHot编码和哑编码的区别简述:
1、OneHot编码的编码长度和分类特征的类别数相同
2、哑编码的编码长度是分类特征的类别数减1
OneHot编码和哑编码的使用异同见参考文档