数据挖掘的清洗_第1页
数据挖掘的清洗_第2页
数据挖掘的清洗_第3页
数据挖掘的清洗_第4页
数据挖掘的清洗_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、6/30/2020,1,为什么需要数据预处理 ?,在现实社会中,存在着大量的“脏”数据 不完整性(数据结构的设计人员、数据采集设备和数据录入人员) 缺少感兴趣的属性 感兴趣的属性缺少部分属性值 仅仅包含聚合数据,没有详细数据 噪音数据(采集数据的设备、数据录入人员、数据传输) 数据中包含错误的信息 存在着部分偏离期望值的孤立点 不一致性(数据结构的设计人员、数据录入人员) 数据结构的不一致性 Label的不一致性 数据值的不一致性,6/30/2020,2,为什么需要数据预处理 ?,数据挖掘的数据源可能是多个互相独立的数据源 关系数据库 多维数据库(Data Cube) 文件、文档数据库 数据转

2、换 为了数据挖掘的方便 海量数据的处理 数据归约(在获得相同或者相似结果的前提下),6/30/2020,3,为什么需要数据预处理?,没有高质量的数据,就没有高质量的挖掘结果 高质量的决策必须基于高质量的数据基础上 数据仓库是在高质量数据上的集成,6/30/2020,4,数据预处理的主要任务,数据清理 填入缺失数据 平滑噪音数据 确认和去除孤立点 解决不一致性 数据集成 多个数据库、Data Cube和文件系统的集成 数据转换 规范化、聚集等 数据归约 在可能获得相同或相似结果的前提下,对数据的容量进行有效的缩减 数据离散化 对于一个特定的连续属性,尤其是连续的数字属性,可以把属性值划分成若干区

3、间,以区间值来代替实际数据值,以减少属性值的个数.,6/30/2020,5,数据预处理的形式,数据清理,数据集成,数据转换,数据归约,6/30/2020,6,主要内容,为什么需要数据预处理? 数据清洗 数据集成与转换 数据归约 数据离散化与概念层次的构建 本章小结,6/30/2020,7,数据清洗,主要任务 补充缺失数据 识别孤立点,平滑噪音数据 处理不一致的数据,6/30/2020,8,缺失数据的处理,部分数据通常是不可用的 在许多元组中部分属性值为空。如:在客户表中的客户收入为空。 导致数据缺失的原因 数据采集设备的故障 由于与其它信息的数据存在不一致性,因此数据项被删除 由于不理解或者不

4、知道而未能输入 在当时数据输入的时候,该数据项不重要而忽略 数据传输过程中引入的错误 缺失数据通常需要经过合理的推断予以添加,6/30/2020,9,缺失数据的处理方法,忽略该记录(元组) 通常在进行分类、描述、聚类等挖掘,但是元组缺失类标识时 该种方法通常不是最佳的,尤其是缺失数据比例比较大的时候 手工填入空缺的值 枯燥、费时,可操作性差,不推荐使用 使用一个全局的常量填充空缺数值 给定一个固定的属性值如:未知、不祥、 Unknown 、 Null等 简单,但是没有意义,6/30/2020,10,使用属性的平均值填充空缺数值 简单方便、挖掘结果容易产生不精确的结果 使用与给定元组同一个类别的

5、所有样本的平均值 分类非常重要,尤其是分类指标的选择 使用最有可能的值予以填充 利用回归、基于推导的使用贝叶斯形式化的方法的工具或者判定树归纳确定 利用属性之间的关系进行推断,保持了属性之间的联系,缺失数据的处理方法(续),6/30/2020,11,噪音数据,噪音数据:一个度量(指标)变量中的随机错误或者偏差 主要原因 数据采集设备的错误 数据录入问题 数据传输问题 部分技术的限制 数据转换中的不一致 数据清理中所需要处理的其它问题 重复的记录 不完整的数据 不一致的数据,6/30/2020,12,噪音数据的处理,分箱(Binning)的方法 聚类方法 检测并消除异常点 线性回归 对不符合回归

6、的数据进行平滑处理 人机结合共同检测 由计算机检测可疑的点,然后由用户确认,6/30/2020,13,处理噪音数据:分箱方法,分箱(Binning)方法: 基本思想:通过考察相邻数据的值,来平滑存储数据的值 基本步骤: 首先,对数据进行排序,并分配到具有相同宽度/深度的不同的“箱子”中 其次,通过箱子的平均值(Means)、中值(Median)、或者边界值等来进行平滑处理,6/30/2020,14,分箱(Binning) 方法举例,对数据进行排序: 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34 对数据进行分割(相同深度) : - Bin 1: 4, 8

7、, 9, 15 - Bin 2: 21, 21, 24, 25 - Bin 3: 26, 28, 29, 34 根据bin中的平均值进行离散化: - Bin 1: 9, 9, 9, 9 - Bin 2: 23, 23, 23, 23 - Bin 3: 29, 29, 29, 29,6/30/2020,15,基于聚类分析的平滑处理,6/30/2020,16,通过线性回归的平滑处理,x,y,y = x + 1,X1,Y1,Y1,6/30/2020,17,主要内容,为什么需要数据预处理 数据清洗 数据集成与转换 数据归约 数据离散化与概念层次的构建 本章小结,6/30/2020,18,数据集成,数据

8、集成的概念 将多个数据源中的数据结合起来存放在一个一致的数据存储中 数据源包括:多个数据库、多维数据库和一般的文件 数据集成也是数据仓库建设中的一个重要问题 数据集成的内容 模式集成 利用数据库和数据仓库的元数据信息 主要工作是识别现实世界中的实体定义 冗余数据的处理 检测和解决数值冲突 对于现实世界中的同一实体,来自于不同数据源的属性值可能不同 主要原因:不同的数据表示、度量单位、编码方式以及语义的不同,6/30/2020,19,数据集成,数据集成的概念 将多个数据源中的数据结合起来存放在一个一致的数据存储中 数据源包括:多个数据库、多维数据库和一般的文件 数据集成也是数据仓库建设中的一个重

9、要问题 数据集成的内容 模式集成 利用数据库和数据仓库的元数据信息 主要工作是识别现实世界中的实体定义 冗余数据的处理 检测和解决数值冲突 对于现实世界中的同一实体,来自于不同数据源的属性值可能不同 主要原因:不同的数据表示、度量单位、编码方式以及语义的不同,6/30/2020,20,模式集成,数据类型冲突 性别:string(Male、Female)、Char(M、F)、Interger(0、1) 日期:Date、DateTime、String 数据标签冲突:解决同名异义、异名同义 学生成绩、分数 度量单位冲突 学生成绩 百分制:100 0 五分制: A 、B、C、D、E 字符表示:优、良、

10、及格、不及格 概念不清 最近交易额:前一个小时、昨天、本周、本月? 聚集冲突:根源在于表结构的设计,6/30/2020,21,冗余数据的处理,从多个数据源中抽取不同的数据,容易导致数据的冗余 不同的属性在不同的数据源中是不同的命名方式 有些属性可以从其它属性中导出, 例如:销售额单价销售量 有些冗余可以通过相关分析检测到 其中:n是元组的个数, 和 分别是A和B的平均值, 和 分别是A和B的标准差 元组级的“重复”,也是数据冗余的一个重要方面 减少冗余数据,可以大大提高数据挖掘的性能,6/30/2020,22,数据转换,平滑处理: 从数据中消除噪音数据 聚集操作: 对数据进行综合,类似于Dat

11、a Cube的构建 数据概化:构建概念层次 数据规范化: 将数据集中到一个较小的范围之中 最大-最小规范化 z-score(零均值)规范化 小数范围规范化(01规范化) 属性构造 构造新的属性并添加到属性集中,以帮助数据挖掘,6/30/2020,23,数据转换:规范化,最大-最小规范化 对原始数据进行线性变换 保持了原始数据值之间的关系 当有新的输入,落在原数据区之外,该方法将面临“越界”错误 受到孤立点的影响可能会比较大,6/30/2020,24,数据转换:规范化(续),z-score(零均值)规范化 属性基于平均值和标准差规范化 当属性的最大值和最小值未知,或者孤立点左右了最大最小规范化时

12、,该方法有效 0-1规范化(小数定标规范化) 通过移动属性的小数点位置进行规范化 例如A的值为125,那么|A|=125,则j=3,有v=0.125。,Where j is the smallest integer such that Max(| |)1,6/30/2020,25,属性构造,由给定的属性构造并增添新的属性,以帮助提高精度和对高维数据结构的理解 属性结构还可以帮助平缓使用判定算法分类的分裂问题 例如: Area=Width Height 销售额单价销售量,6/30/2020,26,主要内容,为什么需要数据预处理? 数据清洗 数据集成与转换 数据归约 数据离散化与概念层次的构建 本

13、章小结,6/30/2020,27,主要内容,为什么需要数据预处理? 数据清洗 数据集成与转换 数据归约 数据离散化与概念层次的构建 本章小结,6/30/2020,28,数据归约的提出,在数据仓库中可能保存TB级的数据,大数据量的数据挖掘,可能需要大量的时间来完成整个数据的数据挖掘。 数据归约 在可能获得相同或相似结果的前提下,对数据的容量进行有效的缩减 数据归约的方法 数据立方体聚集:聚集操作作用于立方体中的数据 减少数据维度(维归约):可以检测并删除不相关、弱相关或者冗余的属性或维 数据压缩:使用编码机制压缩数据集 数值压缩:用替代的、较小的数据表示替换或估计数据,6/30/2020,29,

14、Data Cube的聚集,“基点方体” “顶点方体” Data Cube中的多个层次的聚集 进一步缩减所要处理的数据量 当响应OLAP查询或者数据挖掘时,应当使用与给定任务相关的“最小方体”,6/30/2020,30,维归约(特征提取),维归约:通过删除不相关的属性(或维)减少数据量 特征选取 (属性子集的选取): 选取最小的特征属性集合,得到的数据挖掘结果与所有特征参加的数据挖掘结果相近或完全一致 特征提取,对于d 个属性来说,具有2d 个可能的子集,6/30/2020,31,维归约的主要方法,利用启发式的方法来减少数据维度(随着维度的增长数据量将呈指数级别增长): 逐步向前选择:维数逐步增

15、多的方法(每次增添“最好”的属性) 逐步向后选择:维数逐步减少的方法(每次删除“最差”的属性) 两者组合的方法 判定树归纳方法(ID3, C4.5),6/30/2020,32,基于判定树归纳的方法,Initial attribute set: A1, A2, A3, A4, A5, A6 ,A4 ?,A1?,A6?,Class 1,Class 2,Class 1,Class 2,Reduced attribute set: A1, A4, A6,Y,Y,Y,N,N,N,6/30/2020,33,数据压缩,数据压缩:应用数据编码或变换,以便得到数据的归约或压缩表示 无损压缩:原数据可以由压缩数据

16、重新构造而不丢失任何信息 字符串压缩是典型的无损压缩 现在已经有许多很好的方法但是它们只允许有限的数据操作 有损压缩:只能重新构造原数据的近似表示 影像文件的压缩是典型的有损压缩 典型的方法:小波变换、主要成分分析,6/30/2020,34,数值归约,数值归约:通过选择替代的、“较小”的数据表示形式来减少数据量 有参的方法 假设数据符合某些模型,通过评估模型参数,仅需要存储参数,不需要存储实际数据(孤立点也可能被存放) 典型方法:对数线性模型,它估计离散的多维概率分布 无参的方法 不存在假想的模型 典型方法:直方图、聚类和抽样,6/30/2020,35,直方图,类似于分箱技术,是一种流行的数据

17、归约方式 将属性值划分为不相交的子集,或“桶” 桶安放在水平轴上,而桶的高度(和面积)是该桶所代表的值的平均频率。 每个桶只表示单个属性值,则称其为“单桶”。通常,“桶”表示给定属性的一个连续空间 可以通过编程,动态修改部分参数,进行合理构造。,count,5,10,15,20,25,30,1,2,3,4,5,6,7,8,9,10,1-10,11-20,21-30,5,10,15,20,25,13,25,15,Price,Price,count,6/30/2020,36,主要内容,为什么需要数据预处理? 数据清洗 数据集成与转换 数据归约 数据离散化与概念层次的构建 本章小结,6/30/202

18、0,37,数据离散化和概念层次,属性值分类 枚举型 有序的 无序的 连续型:如 Real类型 数据离散化 对于一个特定的连续属性,可以把属性值划分成若干区间,以区间值来代替实际数据值,以减少属性值的个数。 概念层次 利用高层的概念(如儿童、青年、中年、老年等)来代替低层的实际数据值(实际年龄),以减少属性值的个数。,6/30/2020,38,数值数据的离散化和概念分层建立的方法,分箱(Binning) 直方图分析 聚类分析的方法 根据自然分类进行分割,6/30/2020,39,分箱方法:一种简单的离散化技术,相同宽度 (距离)数据分割 将数据分成N等份,各个等份数据之间具有相同的距离 如果 A

19、 和 B 分别为属性值中的最大值和最小值,那么各个数据等份之间的距离为:W = (B-A)/N. 异常点将会扮演很重要的角色 倾斜的数据不能很好的解决 相同深度 (频率)数据分割 将数据分成N等份,各个等份具有相同的数据个数。 具有较好的可伸缩性 适合于数据分类的情况,6/30/2020,40,离散化:直方图方法,将数据分割到若干个桶之中,用桶中的平均值(或求和等)来表示各个桶。 可以通过编程,动态修改部分参数,进行合理构造。,count,5,10,15,20,25,30,1,2,3,4,5,6,7,8,9,10,1-10,11-20,21-30,5,10,15,20,25,13,25,15,

20、Price,Price,count,6/30/2020,41,离散化:聚类分析方法,将数据按照“类内最大相似度,类间最小相似度的原则”对数据进行有效聚类 利用聚类的中心点来表示该类所包含的对象 数据聚类将非常有效,但是必须保证数据中没有噪音数据,6/30/2020,42,按照自然分类进行数据分割,利用3-4-5 法则对数字型数据分类,将数据分成若干个“自然”的区间: 如果在所有数字的最高位覆盖 3, 6, 7或9个不同的值,则将数据分成3段。3(1,1,1) 6(2,2,2) 7(2,3,2) 9(3,3,3) 如果在所有数字的最高位覆盖 2, 4, 8个不同的值,则将数据分成4 段。 如果在所有数字的最高位覆盖 1, 5, 10个不同的值,则将数据分成 5 段。,6/30/2020,43,3-4-5 法则举例,例1:包含数据:101、110、203、222、305、315

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论