第四章: 数据预处理【待补充】
-
4.1 数据清洗:
删除原始数据集中的无关数据、重复数据、平滑噪声数据,筛选掉与挖掘无关的数据,处理缺失值、异常值
- 缺失值处理(删除记录、数据插补、不处理)
常见的插补方法:均值/中位数/众数 插补;使用固定值;最近邻插补;回归方法;插值法
拉格朗日插值法,牛顿插值法
2. 异常值处理(删除含有异常值的记录、视为缺失值、平均值修正、不处理)
缺点:观测值少,删除的方法not suitable.(方法的优劣性评价尺度:样本数量少)
在正常情况下,要先分析异常值出现的可能原因,再判断异常值是否应该舍弃
-
4.2 数据集成:
考虑实体识别问题和属性冗余问题,从而将数据源在最低层加以转换、提炼和集成
- 实体识别:同名异义、异名同义、单位不统一
- 冗余属性识别:同一属性多次出现、同一属性命名不一致导致重复
-
4.3 数据变换:
将数据转换为“适当的”形式,以适用于挖掘任务及算法的需要
- 简单函数变换:将原始数据进行某些数学函数变换(如平方,开方,取对数,差分运算),将不具有正态分布的数据变换为具有正态分布的数据。
如:收入在【100, 10亿】区间很大,使用对数变换对其进行压缩完成
2. 规范化:消除数据量纲和取值范围差异的影响,将数据按照比例进行缩放,使之落在一个特定的区域,如【-1, 1】或者【0, 1】
- 最小-最大规范化 = 离差标准化
转换公式: x* = (x – min) / (max - min)
缺点:若数据比较集中且某个值很大,则规约后各值会接近于0,并且都会相差不大(方法的优劣性评价尺度:样本差异小)
若遇到遇到超出【min, max】取值范围时,会引起系统出错,需要重新定义min, max(方法的优劣性评价尺度:新样本加入时,鲁棒性)
- 【用的最多】零-均值规范化 = 标准差标准化: 经过处理的数据的均值 μ = 0, 标准差 σ = 1
转换公式: x* = ( x–μ ) / σ
- 小数定标规范化:通过移动属性值的小数位数,将属性值映射到【-1,1】,移动小数位的位数取决于属性值绝对值的最大值
转换公式: x* = x / 10k
对于一个含有N个记录P个属性的数据集,分别对每一个属性的取值进行规约化。
3. 连续属性离散化:【使用背景:一些算法要求数据是离散的】
数据离散化就是在数据的取值范围内设定若干个离散的划分点,将取值范围划分为一些离散化的区间,最后用不同的符号或者整数值代表落在每个子区间的数据值。
数据离散化= 确定分类数+如何将连续属性值映射到这些分类值
常见的离散化方法:等宽法;等频法;(一维)聚类
比较:等宽法,等频法:需要人工干预(设定划定分区间的个数);
等宽法对离群点比较敏感,可能有些区间包含许多数据,而另一些区间的数据很少;
等频法则可能出现相同的数据值出现在不同的区间;
基于聚类的分析方法,先使用kmeans等聚类得到簇,在对簇进行处理,同样需要指定簇的个数;
4. 属性构造:利用数据源中的已知属性构造函数
如:已有属性供入电量, 供出电量, 构造函数 线损率 = (供入电量 - 供出电量)/供入电量 *100%
5. 【待补充】小波变换:通过小波变换(伸缩、平移)把非平稳信号分解为表达不同层次、不同频带信息的数据序列,即小波系数。选取适当的小波系数,完成信息的特征提取。
(1) 基于小波变换的特征提取方法:
基于小波变换的多尺度空间能量分布特征提取方法:
基于小波变换的多尺度空间模极大值特征提取方法:模极大值的尺度参数s、平移参数t及振幅作为目标的特征值
基于小波包变换的特征提取方法:利用小波分解
基于适应性小波神经网络的特征提取方法:
(2) 小波基函数:
(3) 小波变换:
-
【待补充】4.4 数据规约:
(1)属性规约:通过属性合并来创建新属性维度;或者直接通过删除不相关的属性(维)来减少数据维数;
方法: 合并属性;逐步向前选择;逐步向后删除;决策树归纳;主成分分析;
分析: 逐步向前选择,逐步向后删除,决策树归纳 ------ 直接删除不相关属性(维)方法;
主成分分析:是一种用于连续属性的数据降维方法;
(2)数值规约:
-
4.5 Python 主要预处理函数:
函数名
函数功能
所属扩展库
interpolate
一维、高维数据插值
Scipy
unique
去除数据中的重复元素
Pandas/Numpy
isnull
判断是否空值
Pandas
notunll
判断是否非空值
Pandas
PCA
对指标变量矩阵进行主成分分析
Scikit-Learn
random
生成随机矩阵
Numpy