pandas.get_dummies (独热编码)详解

1、pandas.get_dummies使用场景

        在对变量进行独热编码时使用,例如:某一列类别型变量是季节,取值为春、夏、秋、冬,当我们对其进行建模时,需要将其进行独热编码,这时:pandas.get_dummies便派上了用场。
pandas.get_dummies (独热编码)详解_第1张图片

2、参数详解
  • data : array-like, Series, or DataFrame 输入的数据
  • prefix : string, get_dummies转换后,列名的前缀,默认为None
  • columns : 指定需要实现类别转换的列名 否则转换所有类别性的列
  • dummy_na : bool, default False 增加一列表示空缺值,如果False就忽略空缺值
  • drop_first : bool, default False 获得k中的k-1个类别值,去除第一个,防止出现多重共线性
3、注意小陷阱呀

        若针对训练数据已经做好了独热编码并建立了模型,而新增的预测数据或分类数据的类别变量未包含完整的类别。此时直接使用pd.get_dummies,会发现与训练集得到的结果不一样。例如:训练数据中季节列中春、夏、秋、冬都出现过,而在新的测试数据中只出现了春与夏,两者的结果会不一样。如下:
pandas.get_dummies (独热编码)详解_第2张图片
        为了避免出现这个情况,需要新增以下代码:

data['季节'] = data['季节'].astype(
    'category',
    categories=["春", "夏", "秋", "冬"]
)

pandas.get_dummies (独热编码)详解_第3张图片

你可能感兴趣的:(Python)