机器学习——数据预处理(Preprocessing)

1、缺失值处理
  • 删除包含缺失值的一整列
    当该列种的大部分数据都缺失时可采用该方式,如果只有个别数据缺失,直接删除整列会导致大量信息丢失
    机器学习——数据预处理(Preprocessing)
  • 填充缺失值
    往缺失值中填入相关数据,例如:列均值、中位数等
    填充值往往比直接删除整列数据有更好的效果
    机器学习——数据预处理(Preprocessing)
  • 扩展填充
    直接填充缺失值往往和实际的值之间有所差别,加入一列记录原始数据是否缺失可能会对预测结果有更好的效果
    机器学习——数据预处理(Preprocessing)
2、分类变量的预处理

在使用分类变量(特征)搭建机器学习模型之前,需要将分类变量变成数值变量才能将该特征加入模型中进行训练
对分类变量预处理有三种方式:

  • 直接删除分类变量
    最简单的处理方法是直接将是类别型的特征作删除处理,训练模型的时候只考虑数值型变量即可,该方法会导致损失有用信息
  • 标签编码(Label Encoding)
    对类别变量中每一个取值都赋予一个对应的数值,该方法假定各个取值之间存在某种顺序关系
    机器学习——数据预处理(Preprocessing)
    例如: “Never” (0) < “Rarely” (1) < “Most days” (2) < “Every day” (3)
  • 独热编码(One-Hot Encoding)
    当分类变量中各个取值之间不存在某种顺序关系的时候,独热编码将是一种更好的选择
    独热编码可以理解为,对于每一个特征,如果它有m个可能值,那么经过独热编码后,就变成了m个二元特征,并且这些特征互斥,每次只有一个**
    机器学习——数据预处理(Preprocessing)
    当分类中取值可能性很多(m>15)时,不适合使用独热编码,这会造成特征数量的急剧增长