前言
旨在对数据挖掘有个系统的认识,这部分仅仅是对于数据预处理!
对于常规的数据预处理主要分为以下4步骤:
(1) 数据清洗:解决缺失值、异常值、离群点的问题
(2) 数据集成:解决样本重复、指标构建、属性高度相似的问题
(2) 数据规约:解决数据规模过大的问题
(4) 数据变换:将数据转化为更方便分析的数据
2 数据预处理
2.1 数据清洗
2.1.1 数据缺失
(1) 填充缺失值
1)使用属性的均值填充缺失值
2)使用与给定元组同一类的所有样本的属性均值填充相应的缺失值
3)使用最可能的值填充缺失值:可以使用回归、决策树归纳来确定最有可能 的值来填充缺失信息。或者使用插值(拉格朗日插值法,牛顿插值法等)进行 预测。此类方法是填充缺失值的最好方法。
(2) 删除含缺失值的样本
(3) 不处理
2.1.2 异常值
(1) 异常值:例如月收入为负值,数据重复等
1)当做缺失值处理
2)对于重复数据可以删掉
2.1.3 离群:离群点是指与数据总体特征差别较大的点
-
首先是对于离群点的判断
可以基于距离的检测、基于密度的监测(如DBSCAN聚类法)等 -
对于离群点是否为噪声
· 对于少量离群点的话,觉得可以视为噪声然后删除处理
· 对于相当一部分离群点,此时就要结合实际的应用场景进行判断,考虑这些点能不能被称为离群点?例如建立总体模型,看这些点是否会影响模型的精准度,从而判断是否是离群点.
2.2 数据集成
2.2.1 样本重复
除检测属性冗余之外,还需要在元组(样本)级检测重复。数据集成的第三个重要问题是数据值冲突的检测与处理。
2.2.2 利用原属性构建新的属性(指标)
2.2.3 数据集成中导致数据(属性)冗余(相关性分析,去掉相关性高的属性)
1) 皮尔逊积距系数、
2) 卡方检验、
3)数值属性的协方差等。
2.3 数据规约
2.3.1 数据多且杂(行)-- 进行数量规约
(1)数据聚集
(2)数据抽样
2.3.2 (维度)过多(列)-- 进行维度规约
(1) PCA(主成分分析)
(2) SVD:
(3) LDA:
2.4 数据变换
2.4.1 数据离散化
当我们不太关心值的小范围变化,或者想要将连续属性当成离散属性处理时
2.4.2 二元化(0,1)
2.4.3 规范化
(1) 最小-最大规范化(归一化)
(2) z-score规范化(数据标准化)
(3)小数定标规范化
(4)中心化(零-均值标准化)——》 x1 = (x - 平均数) / 标准差