特征工程之类别特征处理

类别特征(Categorical Feature)指的是能在有限范围内取值的特征,如性别(男,女),血型(A,B,O,AB)等。类别特征的输入往往是原始的字符串,因此除了例如决策树等少数能直接处理字符串形式输入的模型,其他模型往往需要将类别特征处理厂数值型才能正常处理。下面介绍几种常见的类别特征处理方法。

序号编码(Ordinal Encoding)

序号编码通常用于处理类别见具有大小或顺序关系的数据,例如成绩可以分为“高”,“中”,“低”,且“高>中>低”,因此可以相应的转换成3,2,1。

独热编码(One-hot Encoding)

One-hot 编码通常用于处理类别见不具有大小关系的类别特征,最常见的用法是NLP中对词库中单词的编码。例如对于血型(A,B,O,AB),对应的One-hot编码可以表示为((1000),(0100),(0010),(0001))。但是使用One-hot编码需要注意以下问题:

  1. 使用稀疏向量节省空间。对于范围特别大的常见,例如字典,生产的one-hot编码非常稀疏,因此需要节省存储空间。
  2. 配合特征选择来降低特征维度。同样是为了解决高维情况下的存储问题。
二进制编码(Binary Encoding)

二进制编码主要分为两步,先用序号编码给每个类别赋予一个唯一的ID,然后将该ID对应的二进制编码作为结果。同样以血型(A,B,O,AB)为例,其对应的序号编码为(1,2,3,4),那么其对应的二进制棉麻可以表示为(001,010,011,100)。相比较One-hot编码,在高维特征的情况下,能节省大量的存储空间。

你可能感兴趣的:(特征工程之类别特征处理)