数据清洗目的:一是为了解决数据质量问题;二是为了使数据更适合模型分析挖掘。
数据的完整性---例如:人的属性中缺少性别
数据的唯一性---例如:不同来源的数据出现重复
数据的权威性---例如:同一个指标出现多个来源的数据且数值不同
数据的合法性---例如:获取的数据与常识不符,年龄大于200岁
数据的一致性---例如:不同来源的不同指标,实际内涵是一样的,或同一指标内涵不一致
一、数据质量问题
数据清洗的结果是对各种脏数据进行对应方式处理,得到标准的、干净的、连续的数据提供给模型训练。
1、解决数据完整性
数据缺失,填补数据就好了。
(1)通过其他数据信息补全,例如使用身份证号码推算性别、出生日期、年龄等
(2)通过前后数据补全,例如时间序列缺数据,可以使用前后的均值,缺的多了,可以使用平滑等处理
(3)实在补不全,虽然可惜,但是必须要剔除,但是不要删除,也许以后可以用的上
2、解决数据唯一性
去除重复值,保留一条
(1)按主键去重
(2)按规则去重,如:保留第一次出现,或保留最后一次出现的
3、解决数据权威性
用最权威的渠道数据
对不同渠道设定权威级别
4、解决数据合法性
(1)设定强制合法规则,凡是不在此规则范围内的,强制设为最大值,或者判为无效,剔除
(2)离群值人工特殊处理,使用分箱、聚类、回归等方式发现离群值
5、解决数据一致性
建立数据体系
二、数据更适合分析挖掘
1、高维度 --不适合------降维(主成分、随机森林)
2、维度太低--不适合 ---(各种汇总、平均、加总、最大、最小等;各种离散化,聚类、自定义分组)
3、无关信息--减少存储---(删除字段)
4、字段冗余 -- 相关系数很高 --(删除)
5、多指标数值、单位不同 ----(归一化)