数据预处理

时间:2024-03-16 21:16:19

笔记

1.数据预处理

在数据挖掘的过程中,数据预处理占到了整个过程的60%。
数据预处理的主要任务包括数据清洗,数据集成,数据变换和数据规约。处理过程如图所示:
数据预处理

脏数据:不完整、含噪声、不一致
原始数据中存在的问题:

  1. 不完整:感兴趣的属性没有值
  2. 含噪声:数据中存在误差或异常
  3. 不一致:数据内涵出现不一致
  4. 重复
  5. 高纬度

1.1 数据清洗

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

1.1.1 缺失值处理

处理缺失值的方法可分为三类:删除记录、数据插补和不处理。其中常用的数据插补方法见下表

数据预处理
其中,插值方法有Hermite插值、分段插值、样条插值法,而最主要的有拉格朗日插值法和牛顿插值法。

1.1.2 异常值处理

在数据预处理时,异常值是否剔除,需视具体情况而定,因为有些异常值可能蕴含着有用的信息。异常值处理常用方法见下表:

数据预处理

1.1.3 噪声处理

.噪声:在测量一个变量时可能出现的测量值相对于真实值的偏差或者误差。

噪声数据的处理—分箱:把待处理的数据按照一定的规则放进一些箱子中,考察每一个箱子中的数据,采用某种方法分别对各个箱子中的数据进行处理。
箱子:按照属性值划分的子区间,如果一个属性值处于某个子区间范围内,就称把该属性值放进这个子区间代表的“箱子”里。

分箱技术需要确定的主要问题

  1. 分箱方法,即如何分箱口
  2. 数据平滑方法,即如何对每个箱子中的数据进行平滑处理

分箱的方法:分箱前记录集按照目标属性值的大小进行排序。
等深分箱法
等宽分箱法
用户自定义区间
最小熵

例子:
客户收入属性income排序后的值(人民币):
800 1000 1200 1500 1500 1800 2000 2300 2500 2800 3000 3500 4000 4500 4800 5000

等深分箱法(统一权重)
按记录行数分箱,每箱具有相同的记录数,每箱记录数称为箱的权重,也称箱子的深度。
设定权重(箱子深度)为4(每四个数放在一个箱子),上述例子分箱后的结果如下。
箱1:800 1000 1200 1500
箱2:1500 1800 2000 2300
箱3:2500 2800 3000 3500
箱4:4000 4500 4800 5000

等宽分箱法(统一区间)
在整个属性值的区间上平均分布,即每个箱的区间范围是一个常量,称为箱子宽度。设定区间范围(箱子宽度)为1000元人民币(设定的区间长度为1000),分箱后

箱1:[800~1800]
800 1000 1200 1500 1500 1800
箱2:[2000-3000]
2000 2300 2500 2800 3000
箱3:[3500-4500]
3500 4000 4500
箱4:>4800
4800 5000

即第一个数加上区间宽度

最小熵
使在各区间分组内的记录具有最小的熵。
信息是信号、符号或消息所表示的内容,用以消除对客观事物认识的不确定性;信息量的直观定义:信息量的大小取决于信息内容消除人们认识的“不确定程度”,所消除的不确定程度越大,则所包含的信息量就越大。

熵一信息的度量(利用概率来度量)
例子:A到1000人的学校去找B。传达室人告诉他,“B是信息管理系”,而管理系有100人。他获得的信息是100/1000=0.1,也就是将可能性空间缩减到原来的1/10。用概率来表示:-1og(1/10)=1og10
又有人告诉他:B在信息管理与信息系统教研室(10人),则第2个信息的确定性又缩小到原理的100/1000*10/100=10/1000,信息量为
-log100/1000+(-log10/1000)=-log10/1000=log100

用户自定义区间
用户根据需要自定义区间。
用户自定义:如将客户收入划分为1000元以下、1000-2000、2000-3000、3000~4000和4000元以上几组,分箱后
箱1:800
箱2:1000 1200 1500 1500 1800 2000
箱3:2300 2500 2800 3000
箱4:3500 4000
箱5:4500 4800 5000

噪声数据的处理一平滑处理

分箱后对数据进行平滑处理

3种进行数据平滑方法:
1)按平均值平滑
对同一箱中的数据求平均值,用平均值替代该箱中的所有数据。
2)按边界值平滑
用距离较小的边界替代箱中每一数据。
3)按中值平滑
取箱中的中值,用来替代箱子中的所有数据。

噪声数据的处理一聚类

噪声数据的处理一回归

1.2 数据集成

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

在数据集成时,来自多个数据源的现实世界实体的表达形式是不一样的,不一定是匹配的,要考虑实体识别问题和属性冗余问题,从而把源数据在最低层上加以转换、提炼和集成。

实体识别的任务是检测和解决同名异义、异名同义、单位不统一的冲突。如:
同名异义:数据源A中的属性ID和数据源B中的属性ID分别描述的是菜品编号和订单编号,即描述的是不同的实。
异名同义:数据源A中的sales_dt和数据源B中的sales_date都是是描述销售日期的,即A. sales_dt= B. sales_date。
单位不统一:描述同一个实体分别用的是国际单位和中国传统的计量单位。

冗余属性识别
数据集成往往导致数据冗余,如:
同一属性多次出现
同一属性命名不一致导致重复
不同源数据的仔细整合能减少甚至避免数据冗余与不一致,以提高数据挖掘的速度和质量。对于冗余属性要先分析检测到后再将其删除。
有些冗余属性可以用相关分析检测到。给定两个数值型的属性A和B,根据其属性值,可以用相关系数度量一个属性在多大程度上蕴含另一个属性。

1.3 数据变换(转换)

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

数据归一化
(1)定义
把需要处理的数据经过处理后(通过某种运算)限制在需要的一定范围内。归一化是为了后面数据处理的方便,其次是保证程序运行时收敛加快。
(2)方法
线性函数转换,表达式如下
y=xxminxmaxxmin y=\frac{x-x_{\min}}{x_{\max}-x_{\min}}
对数函数转换,表达式如下:
y=log10(x) y=\log _{10}\left( x \right)

反余切函数转换,表达式如下:
y=arctan(x)×2π y=\arctan \left( x \right) \times \frac{2}{\pi}

1.4 数据归约

主要方法包括:数据立方体聚集,维归约,数据压缩,数值归约,离散化和概念分层等。