第四章 数据预处理
范围设定为一个常量,称为箱子的宽度。
示例:
已知一组价格数据:15,21,24,21,25,4,8,34,28
现用等宽(宽度为10)分箱方法对其进行平滑,以对数据中的噪声进 行处理。
结果: 先排序:4,8,15,21,21,24,25,28,34
1)划分为等宽度箱子 Bin1:4、8; Bin2:15、21、21、24、25; Bin3:28、34
数据预处理的重要性
3)不完整性:由于实际系统设计时存在的缺陷以及使用过程 中的一些人为因素,数据记录可能会出现数据值的丢失或不 确定。
原因可能有: (1)有些属性的内容有时没有 (家庭收入,参与销售事务数据中的顾客信息) (2)有些数据当时被认为是不必要的 (3)由于误解或检测设备失灵导致相关数据没有记录下来 (4)与其它记录内容不一致而被删除 (5)忽略了历史数据或对数据的修改
(1)等深分箱结果:
(2)按箱的中值平滑,结果为: 箱1(1100,1100 ,1100 ,1100 ); 箱2(1900,1900,1900,1900); 箱3(2900,2900,2900,2900); 箱4(4650,4650 ,4650 ,4650 ) (2)按箱的边界值平滑,结果为: 箱1(800,800,1500,1500); 箱2(1500,1500,2300,2300); 箱3(2500,2500,3500,3500); 箱4(4000,4000,5000,5000)
《 数据仓库与数据挖掘》
主讲:王名扬 信息与计算机工程学院
引言
目前,数据挖掘的研究工作大都集中在算法的探讨 而忽视对数据处理的研究。事实上,数据预处理对数据 挖掘十分重要,一些成熟的算法都对其处理的数据集合 有一定的要求:比如数据的完整性好,冗余性小,属性 的相关性小等。
高质量的决策来自高质量的数据,因此数据预处理 是整个数据挖掘与知识发现过程中的一个重要步骤。
1. 空缺值的处理?
空缺值
数据并不总是完整的
✓数据库表中,很多条记录的对应字段可能没有相应值,比如销 售表中的顾客收入
引起空缺值的原因
✓设备异常 ✓与其他已有数据不一致而被删除 ✓因为误解而没有被输入的数据 ✓在输入时,有些数据因为得不到重视而没有被输入 ✓对数据的改变没有进行日志记载
空缺值要经过推断而补上。
✓ 按箱的平均值平滑:箱中每一个值被箱中的平均值替换 ✓ 按箱的中值平滑:箱中的每一个值被箱中的中值替换 ✓ 按箱的边界平滑:箱中的最大和最小值被视为箱边界,箱中
的每一个值被最近的边界值替换。
如何处理噪声数据
① 等深分箱 (binning): 按记录数进行分箱,每箱具有相同的记录数,每箱
的记录数称为箱的权重,也称箱子的深度。
income中的空缺值。
如何处理空缺值
4)使用一个全局变量填充空缺值: ❖ 如:将空缺的属性值用同一个常数(如“Unknown”)替
换。 ❖ 如果空缺值都用“Unknown”替换,当空缺值较多时
,挖掘程序可能误以为它们形成了一个有趣的概念, 因为它们都具有相同的值——“Unknown”。 ❖ 因此,尽管该方法简单,我们并不推荐它。
1. 数据集成?
数据集成
数据集成 ➢ 将多个数据源中的数据整合到一个一致的存储中。 ➢ 这些源可以是关系型数据库、数据立方体或一般文件。
它需要统一原始数据中的所有矛盾之处,如字段的: ➢同名异义; ➢异名同义; ➢单位不统一; ➢字长不一致等。
43
数据集成
集成过程中需要注意的问题 ❖ 模式集成问题; ❖ 冗余问题; ❖ 数据值冲突检测与消除。
40
4.2 数据集成和变换
数据挖掘所需要的海量数据集往往涉及多个数据源, 因此,在信息处理之前需要合并这些数据源存储的数 据。
如果原始数据的形式不适合信息处理算法的需要,就 要进行数据变换。
1)数据集成:将来自多个数据源的数据合并到一起: 2)数据变换:对数据进行规范化操作,将其转换成适合 于数据挖掘的形式。
(2)等宽分箱结果:
(1)首先,划分为等宽的箱: 箱1(800,1000,1200,1500,1500,1800); 箱2(2000,2300,2500,2800,3000); 箱3(3500, 4000,4500 ); 箱4(4800,5000) (2)按箱的平均值平滑,结果为: 箱1(1300,1300 ,1300 ,1300 ,1300 ,1300 ); 箱2(2520,2520 ,2520 ,2520 ,2520 ); 箱3(4000,4000 ,4000 ); 箱4(4900,4900 )
(2)等宽分箱结果:
(1)按箱的中值平滑,结果为: 箱1(1350,1350 ,1350 ,1350 ,1350 ,1350 ); 箱2(2500,2500 ,2500 ,2500 ,2500 ); 箱3(4000,4000 ,4000 ); 箱4(4900,4900 ) (2)按箱的边界值平滑,结果为: 箱1(800,800 ,800 ,1800 ,1800 ,1800 ); 箱2(2000,2000 ,3000 ,3000 ,3000 ); 箱3(3500,3500 ,4000 ); 箱4(4800,5000)
5
数据预处理的重要性
1)杂乱性:如命名规则的不同 如性别: A数据库 male=1 , female=2 B数据库 male=‘男’ ,female=‘女’ C数据库 male=‘M’ , female=‘F’
数据预处理的重要性
2)重复性:同一客观事物在数据库中存在两个以上相同的物 理描述。 假设某周刊有100000个订户,邮件列表中0.1%的记录是 重复的,主要是因为同一个客户的名字可能有不同的写法, 如:Jon Doe和John Doe。 因此,每周需要印刷和邮寄100份额外的刊物,假设每份 刊物每周的邮寄和印刷费用是两美元,公司每年将至少浪费 1万美元以上。
4)回归
✓发现两个相关的变量之间的变化模式,利用回归分析方 法所获得的拟合函数,帮助平滑数据及除去噪声。
y
Y1 Y1’
y=x+1
X1
x
3. 不一致数据的处理?
不一致数据
处理不一致数据的方式: 人工更正 利用知识工程工具:如,如果知道属性间的函数依赖 关系,可以据此查找违反函数依赖的值。 数据字典:在将不同操作性数据库中的数据进行集成 时,也会带来数据的不一致。如:一个给定的属性在不 同的数据库中可能具有不同的名字,如姓名在一个数据 库中为Bill,在另一个数据库中可能为B。对此,可根据 数据字典中提供的信息,消除不一致。
(1)等深分箱结果:
(1)首先,划分为等深的箱: 箱1(800,1000,1200,1500); 箱2(1500,1800,2000,2300); 箱3(2500,2800,3000,3500); 箱4(4000,4500,4800,5000) (2)按箱的平均值平滑,结果为: 箱1(1125,1125 ,1125 ,1125 ); 箱2(1900,1900,1900,1900); 箱3(2950,2950,2950,2950); 箱4(4575,4575 ,4575 ,4575 )
如何处理噪声数据
2)聚类(Clustering):
✓相似或相邻近的数据聚合在一起形成各个聚类集合,而那些 位于聚类集合之外的数据对象,被视为孤立点。
✓特点:直接形成簇并对簇进行描述,不需要任何先验知识。
通过聚类分 析查找孤立 点,消除噪 声
如何处理噪声数据
3)计算机和人工检查结合
✓计算机检测可疑数据,然后对它们进行人工判断
3)根据中值进行平滑 Bin1:6、6; Bin2:21、21、21、21、21; Bin3:31、31
2)根据均值进行平滑 Bin1:6、6; Bin2:21、21、21、21、21; Bin3:31、31
4)根据边界进行平滑: Bin1:4、8; Bin2:15、25、25、25、25; Bin3:28、34
如,利用数据集中其他顾客的属性,构造一棵判定树,预测 income的空缺值。
2. 噪声数据的处理?
噪声数据
噪声(noise) :是一个测量变量中的随机错误或偏差 引起噪声数据的原因
– 数据收集工具的问题 – 数据输入错误 – 数据传输错误 – 技术限制 – 命名规则的不一致
如何处理噪声数据
练习:
已知客户收入属性income排序后的值(人民币元): 800,1000,1200,1500,1500,1800,2000, 2300,2500,2800,3000,3500,4000,4500, 4800,5000
要求:分别用等深分箱方法(箱深为4)、等宽分箱方法 (宽度为1000)对其进行平滑,以对数据中的噪声进行 处理。
学习目的
掌握数据清洗的处理方法(空缺、噪声、 不一致); 掌握各种数据归约的方法; 理解数据离散化的方法。
14
4.1 数据清洗
现实世界的数据一般是脏的、不完整的和不一致的。而数 据清洗试图填充空缺的值、识别孤立点、消除噪声,并纠正数 据中的不一致性。因此,从如下几个方面介绍:
(1)空缺值; (2)噪声数据; (3)不一致数据。
2
数据挖掘: 数据库中的知识挖掘(KDD)
– 数据挖掘——知识挖模式评估掘的核心数据挖掘
任务相关数据
数据仓库
选择
数据清洗 数据集成
数据库
第4章
数据预处理
数据预处理的重要性
数据预处理是数据挖掘的重要一环,而且必不可少。 要使挖掘算法挖掘出有效的知识,必须为其提供干净, 准确,简洁的数据。 然而,当今现实世界中的数据库极易受到噪声数据、 空缺数据和不一致性数据的侵扰,多数为“脏”数据。
数据集成 -----将多个数据源合并成一致的数据存储,构成一个完整的
数据集,如数据仓库。 数据变换(转换) -----将一种格式的数据转换为另一格式的数据(如规范化) 数据归约(消减) ----通过聚集、删除冗余属性或聚类等方法来压缩数据。