数据清理

1. 缺失值篇

在做算法之前,免不了进行数据前置处理。如果置数据预处理重中之重,那么对模型的精度提升将有不可缺少的作用。

数据清理中有一个重要模块为缺失值处理。主要流程如下:

Step 1. 发现拔缺失值

Step 2. 缺失值模式

Step 3. 删除缺失值

Step 4. 填补缺失值

1.1 发现缺失值: NA, NAN , Inf,-Inf

缺失值不仅仅是该取值为空,也有可能存在错误值。首先判断该缺失值是否有业务含义,若是,进行转化(不应忽略)。

栗子:1.银行信用卡信息中开卡日期和激活日期的缺失值 à 填补操作

          2.电商购物用户表中用户年龄出现2岁或者99岁;性别出现男女之外的第三值à 转化把不合理数据编码为缺失值。

1.2 缺失值模式

对缺失值进行观察,寻找一定的规律性,如社交网络哪一群人不喜欢晒照片。

1. 完全随机缺失  Missing Completely At Random

缺失的数据与其他数据无关系,而与本身没关系。

2. 随机缺失

缺失的数据与其他数据有关系,而与本身没关系。    

3. 非随机缺失

缺失的数据与其他数据有关系,而与本身也有关系。如收入与年龄段有关系,与自身的收入层次也有关系。

缺失值模式的识别,很大一部分依赖于业务分析师的经验。

当然有也开源的工作可以使用,如VIM 包中的aggr函数,可以图形化展示缺失值分布, mice包等。

 

根据缺失值模式,采取不同策略:删除和填充。

1.3 删除缺失值    

对于完全随机缺失的模式,若无法提供有用信息或者是少量缺失(看作是大样本的随机抽样产生),就可以简单的删除。

删除方式有行删除, 配对删除等。调用函数的时候,注意表明用哪种方式删除

1. 4 填充缺失值

A. 简单抽样填补(已有数据简单抽样) 。

B. 以均值,中位数,众数插补 填充 。

C. 以同类数据的均值和中位数插补。

如果职业是教师,收入缺失,一般以教师的均值/中位数来插补。

D.最可能的值进行插补,使用回归,决策树或者贝叶斯模型等(找到与其他变量的关系)

2. 噪声处理篇

数据集成

原因: 来自多个系统的数据,造成数据不一致,有偏差。

需要解决:1. 实体匹配   

2. 去除冗余数据(检测相关性:离散数据用卡方检测,连续数据用协方差检测)

 

数据规约

在可控的信息损失下,以较小的数据对原始数据的另一种表达。

内容包括:1. 维度规约:降维,减少特征数量, PCA,小波变换

2. 数量规约:压缩数据(有损压缩:音频视频; 无损压缩:字符串压缩)

常用方法:1. 规范化 

2. 构造特征(构造面积特征 = 长* 宽)

3. 概念分层 (街道=> 泛化到行政区,城市,就对城市级别进行分析)  

4. 离散化(年龄=> 青年,中年,老年,然后可以进行进一步分层泛化,比如建立用户画像,针对 产品是 青年+中年)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值