机器学习WorkFlow——Data cleaning

Garbage in gets you garbage out.
Better data beats fancier algorithms.

简介

数据清洗是每个数据人的必备技能,诚然这不是机器学习最‘骨感’的地方,没有什么隐藏的技能值得来说,但这确是最耗时的环节。不同类型数据需要不同处理方式,本文是自己系统学习数据清洗的起点。

删除不需观测的数据

第一步,从数据集中去除不需观测的数据,包括重复,或者不相关数据,所谓不相关,就是与当前解决的特定问题无关。

结构错误

结构错误,指在测量,数据传输或其他形式的内部管理中出现的错误。例如,数据格式,拼写错误,大小写不一致等等。

异常值

识别连续变量异常值,通常可以用:

  • 箱形图
  • Z记分法(当变量符合正态分布,Z>3通常标记为异常值)
    有充分理由说明其是异常值,才可以将其删除,否则,尽量保留。

缺失值

缺失值,在机器学习中是非常棘手的事情。最常规的2种套路,其一,当数据量很充足的时候,删除没太大影响,直接Dropping;其二,利用其它观测对象重新填补缺失,填补的方式有:

  • 特殊值填补(中位数、平均值)
  • 聚类均值填补(找出有缺失值的观测所属的簇)

最好的处理缺失类别数据的方式就是,直接归为缺失类
缺失数值型数据,要么填补它,要么flag它NaN,处理方式,还需要考虑你套用的算法,是否支持。

完成数据清洗步骤后,算是解决机器学习的一大麻烦啦~

分享