数据预处理的主要内容包括数据清洗、数据集成、数据变换和数据规约。

1.数据清洗

数据清洗主要是删除原始数据集中的无关数 据、重复数据,平滑噪声数据,筛选掉与挖掘主 题无关的数据,处理缺失值、异常值等。

1.1 缺失值处理

处理缺失值的方法可分为3类:删除记录、 数据插补和不处理。
image.png

(1)拉格朗日插值法

(2)牛顿插值法

1.2 异常值处理

image.png

2.数据集成

数据挖掘需要的数据往往分布在不同的数据源中,数据集成就是将多个数据源合并存放 在一个一致的数据存储(如数据仓库)中的过程。

2.1实体识别

实体识别是指从不同数据源识别岀现实世界的实体,它的任务是统一不同源数据的矛盾 之处,常见形式如下。
(1)同名异义
(2)义名同义
(3)单位不统一

2.2 冗余属性识别

数据集成往往导致数据冗余,例如,
1) 同一属性多次出现;
2) 同一属性命名不一致导致重复。

3.数据变换

数据变换主要是对数据进行规范化处理,将数据转换成“适当的”形式,以适用于挖掘 任务及算法的需要。

3.1 简单函数变换

简单函数变换是对原始数据进行某些数学函数变换,常用的变换包括平方、开方、取对 数、差分运算等,
即:
第4章 数据预处理 - 图3
第4章 数据预处理 - 图4
第4章 数据预处理 - 图5
简单的函数变换常用来将不具有正态分布的数据变换成具有正态分布的数据。

3.2 规范化

(1)最小-最大规范化
最小-最大规范化也称为离差标准化,是对原始数据的线性变换,将数值值映射到[0,1] 之间。
公式如下所示:
第4章 数据预处理 - 图6

其中,max为样本数据的最大值,加加为样本数据的最小值。max-min为极差。

(2)零-均值规范化
零-均值规范化也称标准差标准化,经过处理的数据的均值为0,标准差为1。
第4章 数据预处理 - 图7

其中第4章 数据预处理 - 图8为原始数据的均值,第4章 数据预处理 - 图9为原始数据的标准差,是当前用得最多的数据标准化方法。

(3)小数定标规范化
通过移动属性值的小数位数,将属性值映射到[-1,1]之间,移动的小数位数取决于属性 值绝对值的最大值。
公式如下所示:
第4章 数据预处理 - 图10

3.3连续属性离散化

3.3.1 离散化的过程

连续属性的离散化就是在数据的取值范围内设定若干个离散的划分点,将取值范围划分 为一些离散化的区间,最后用不同的符号或整数值代表落在每个子区间中的数据值。所以, 离散化涉及两个子任务:确定分类数以及如何将连续属性值映射到这些分类值。

3.3.2 常用的离散化方法

(1)等宽法

(2)等频法

(3)基于聚类分析的方法

3.4 属性构造

3.5 小波变换

(1)基于小波变换的特征提取方法
image.png
image.png

(2)小波基函数

(3)小波变换

(4)基于小波变换的多尺度空间能量分布特征提取方法

4.数据规约

数据规约的意义在于:

  • 降低无效、错误数据对建模的影响,提高建模的准确性;
  • 少量且具代表性的数据将大幅缩减数据挖掘所需的时间;
  • 降低储存数据的成本。

4.1属性规约

属性规约通过属性合并来创建新属性维数,或者直接通过删除不相关的属性(维)来减 少数据维数,从而提高数据挖掘的效率、降低计算成本。属性规约的目标是寻找出最小的属 性子集并确保新数据子集的概率分布尽可能地接近原来数据集的概率分布。

image.png

4.2数值规约

数值规约指通过选择替代的、较小的数据来减少数据量,包括有参数方法和无参数方法 两类。

有参数方法是使用一个模型来评估数据,只需存放参数,而不需要存放实际数据,例 如回归(线性回归和多元回归)和对数线性模型(近似离散属性集中的多维概率分布)。
无参数方法就需要存放实际数据,例如直方图、聚类、抽样(采样)。

(1)直方图
(2)聚类
(3)抽样
(4)参数回归

5.python主要数据预处理函数

image.png