0 数据清洗的应用场景
数据清洗主要是指在收集到数据之后进一步的定量分析和数据挖掘之前做的一步工作。
在现实应用中收集到的数据都或多或少存在某些缺陷,主要包括:
- 数据不完整(完整性要求)
- 数据不唯一(一致性要求)
- 数据不合法(逻辑性要求)
0.1. 数据不完整
收集的数据集合经常是不够完整的,会有部分缺失值(不满足完整性要求),需要进一步做数据预处理才能进行下一步的定量分析或者数据挖掘。
0.2. 数据不唯一
收集的数据经常会遇到同样的项存在多个值的问题,可能是由于重复收集,也可能是由于数据的多种来源。
所以数据不唯一存在两种情况:1)重复项(同项同值);2)同项不同值。
0.3. 数据不合法
收集的数据经常会遇到异常值,比如年龄值为-20等违背常识,或者正态分布下取到3σ(4σ、5σ)以外的数值(违背数理逻辑)。
综上所述,数据清洗第一步就是处理以下问题:
- 处理缺失值
- 处理重复项(同项同值或同项不同值)
- 处理异常值
1. 处理缺失值
处理缺失值有以下几种方案:
- 提炼其他信息补全
- 通过前后数据插值
- 剔除数据
2. 处理重复项
重复项根据不同情况有不同处理方法,对于同项同值的情况,只要保存其中的一组值即可。
同项不同值的处理相对就麻烦一点。
3. 处理异常值
判定异常值有以下几种方案:
- 区间判定
- 四分位法判定(箱形图分析)
- 3σ原则判定
- 基于距离的判定
- 基于密度的判定
- 基于聚类方法判定
处理异常值有以下几种方案:
- 剔除
- 均值修正
- 视为缺失值
参考文献
文章导引列表:
机器学习
- 小瓜讲机器学习——分类算法(一)logistic regression(逻辑回归)算法原理详解
- 小瓜讲机器学习——分类算法(二)支持向量机(SVM)算法原理详解
- 小瓜讲机器学习——分类算法(三)朴素贝叶斯法(naive Bayes)
- 待续
数据分析
- 小呆学数据分析——使用pandas中的merge函数进行数据集合并
- 小呆学数据分析——使用pandas中的concat函数进行数据集堆叠
- 小呆学数据分析——pandas中的层次化索引
- 小呆学数据分析——使用pandas的pivot进行数据重塑
- 小呆学数据分析——用duplicated/drop_duplicates方法进行重复项处理
- 小呆学数据分析——缺失值处理(一)
- 小呆学数据分析——异常值判定与处理(一)
- 小瓜讲数据分析——数据清洗
数据可视化
- 小瓜讲数据分析——数据可视化工程(matplotlib库使用基础篇)
- 小瓜讲matplotlib高级篇——坐标轴设置(坐标轴居中、坐标轴箭头、刻度设置、标识设置)