数据仓库与数据挖掘技术 第6章 数据预处理技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b
n 1
-1<rab≤+l。如果rab大于0,则a和b是正相关的,该值越 大,相关性越强(即每个属性蕴涵另一个的可能性越大)。因 此,一个较高的rab值表明a(或b)可以作为冗余而被去掉。 如果结果值等于0,则a和b是独立的, 不存在相关。如果结 果值小于0,则a和b是负相关的,一个值随另一个的减少而 增加。这意味每一个属性都阻止另一个属性的出现。
冗余是在数据集成时另一个需要考虑的重要问题。一个 属性可能是冗余的,如果它能由另一个或另一组属性“导 出”。属性或维命名的不一致也可能导致结果数据集中的冗 余。 有些冗余可以被相关分析检测到。给定两个属性,这种 分析可以根据可用的数据度量(两个属性之间的相关系数) 估计一个属性能在多大程度上蕴涵另一个属性。对于数值属 性a和b,之间的相关系数rAB为
第二步是纠正偏差。也就是说,一旦发现偏差,通常我们需 要定义并使用(一系列)变换来纠正它们。商业工具可以支持数 据变换步骤。但这些工具只支持有限的变换,因此,我们常 常可能选择为数据清理过程的这一步编写定制的程序。 偏差检测和纠正偏差这两步过程迭代执行。 随着我们对数据的了解增加,重要的是要不断更新元数据以 反映这种知识。这有助于加快对相同数据存储的未来版本的 数据清理速度。
(3)使用一个全局常量填充缺失值。将缺失的属性值用 同一个常数(如“Unknown”或-∞)替换。但这种方法因为大 量的采用同一个属性值可能会误导挖掘程序得出有偏差甚 至错误的结论,因此要小心使用。 (4)用属性的均值填充缺失值。例如,已知重庆市某银 行的贷款客户的平均家庭月总收入为9000元,则使用该值 替换客户收入中的缺失值。 (5)用同类样本的属性均值填充缺失值。例如,将银行 客户按信用度分类,就可以用具有信用度相同的贷款客户 的家庭月总收入替换家庭月总收入中的缺失值。 (6)使用最可能的值填充缺失值。可以用回归、使用贝 叶斯形式化的基于推理的工具或决策树归纳确定。例如, 利用数据集中其他客户顾客的属性,可以构造一棵决策树 来预测家庭月总收入的缺失值。
6.2 数据清理
数据清洗可以分为有监督和无监督两类。有监督过程 是在领域专家的指导下,分析收集的数据,去除明显错 误的噪声数据和重复记录,填补缺值数据;无监督过程 是用样本数据训练算法,使其获得一定的经验,并在以 后的处理过程中自动采用这些经验完成数据清洗工作。
6.2.1 填充缺失值
很多的数据都有缺失值。比如,银行房屋贷款信用风险 评估中的客户数据,其中的一些属性可能没有记录值,如客 户的家庭月总收入。填充丢失的值,可以用下面的方法。 (1)忽略元组。当缺少类标号时通常这样做(假定挖掘任 务涉及分类)。除非元组有多个属性缺少值,否则该方法不 是很有效。当每个属性缺少值的百分比变化很大时,它的性 能特别差。 (2)人工填写缺失值。此方法很费时,特别是当数据集 很大、缺少很多值时,该方法可能不具有实际的可操作性。
6.1.3 数据预处理的研究现状
目前,数据仓库和数据挖掘在理论和应用上都获得了 极大的发展,数据预处理作为其重要的、必不可少的组成 部分,技术也随之快速发展。现阶段数据预处理技术中研 究最多的是数据清洗和数据归约技术。
数据清洗研究内容主要涉及以下几方面: (1)对数据集进行检测。现阶段主要有以下方法:可以 采用统计学的方法来对数据进行统计分析,计算属性值的 各种数值,如考虑属性值之间差别大小,方差等。还有可 以对与其他数据格式不一致的数据进行格式转换,使之格 式符合数据挖掘的需要。 (2)对数据集中重复的对象进行消除,也就是对重复记 录的清理。对重复数据的处理在数据仓库环境下特别重要, 因为在具有多个数据源的时候可能会产生大量的重复记录。 (3)对缺失数据的补齐,研究者大多采用可靠的算法将 与缺失的值最相似的值替换缺失值的方法,包括贝叶斯网 络、神经网络、k-最临近分类、粗糙集理论等,这些方法大 都需要判断缺失记录与完整记录之间的记录相似度,这是 其核心问题。
6.1.2 数据预处理的基本方法
常见的数据预处理方法有:数据清洗、数据集成、 数据变换和数据归约。图 6.1 给出了数据预处理的典型 形式。
数据清理
数据集成
数据变换 数据归纳
-2,32,100,59,48 属性
-0.02,0.32,1.00,0.59,0.48 属性
图6.1 数据预处理的典型形式
数据清理(data cleaning)处理例程通常包括:填补遗 漏的数据值、平滑有噪声数据、识别或除去异常值,以 及解决不一致问题。 数据集成(data integration)就是将来至多个数据源的 数据合并到一起,形成一致的数据存储,如将不同数据 库中的数据集成入一个数据仓库中存储。之后,有时还 需要进行数据清理以便消除可能存在的数据冗余。 数据变换(data transformation)主要是将数据转换成适 合于挖掘的形式,如将属性数据按比例缩放,使之落入 一个比较小的特定区间。这一点对那些基于距离的挖掘 算法尤为重要。包括平滑处理、聚集处理、数据泛化处 理、规格化、属性构造。 数据归约(data reduction)在不影响挖掘结果的前提下, 通过数值聚集、删除冗余特性的办法压缩数据,提高挖 掘模式的质量,降低时间复杂度。
数据归约技术及其主要内容为: (1)降维处理。主要采用删除冗余属性的方法,若用手工 方法去除冗余属性就需要用到专家知识。通常使用属性子集 选择方法,包括逐步向前选择法、逐步向后删除法、判定树 归纳法等。 (2)从数据集中选择较小的数据表示形式来减少数据量, 需要用到数值归约技术,主要采用直方图、聚类等技术。 (3)对信息系统中与决策属性没有关联或者关联度不大的 属性进行约简。通过属性约简算法之后可以得到关键属性, 减少冗余属性,从而减少得到决策结果所需要的时间。 (4)离散化技术减少给定连续属性值的个数。这种方法可 以通过简化运算量,但大多是递归的,需要花费大量的时间 在每一步的数据排序上。
6.1 数据预处理概述
6.1.1 数据预处理的必要性 数据仓库和数据挖掘的应用产生了大量的数据, 这些数据不一定是规范化的,它以不同的形式存储在 不同的地方。根据“垃圾进,垃圾出”原理,这些低 质量的数据进入系统将会导致昂贵的操作费用和系统 漫长的响应时间,并且对从数据集中抽取的模式的正 确性和导出规则的准确性产生巨大的影响,更严重的 是会使得决策支持系统产生错误的分析结果,误导决 策。
(3)聚类。可以通过聚类检测离群点,将类似的值组织 成群或“簇”。直观地,落在簇集合之外的值视为离群点。 (4)人工检测。人工检测是由专业人员识别孤立点。通过 人与计算机的结合,相比单纯手动检查整个数据库可以提高 效率。
6.2.3 数据清理过程
把数据清理作为一个过程,该过程包括下列两个步骤: 第一步是偏差检测(discrepancy detection)。发现噪声、离 群点和需要考察的不寻常的值时,可以使用已有的关于数据性 质的知识。这种知识或“关于数据的数据”称作元数据。考察 每个属性的定义域和数据类型、每个属性可接受的值、值的长 度范围;考察是否所有的值都落在期望的值域内、属性之间是 否存在已知的依赖;把握数据趋势和识别异常,比如远离给定 属性均值超过两个标准差的值可能标记为潜在的离群点。另一 种错误是源编码使用的不一致问题和数据表示的不一致问题 (如日期“2009/09/25”和“25/09/2009”)。而字段过载 (field overloading)是另一类错误源。 考察数据还要遵循唯一性规则、连续性规则和空值规则。可以 使用其他外部材料人工地加以更正某些数据不一致。如数据输 入时的错误可以使用纸上的记录加以更正。但大部分错误需要 数据变换。
rab
(a
i 1
nLeabharlann Baidu
i
a)(bi b)
(n 1) a b
其中,n是数据集的样本个数,ai和bi分别是元组i中a 和b的值,和分别是a和b的均值,σA和σB分别是a和b的标 准差,即
2 ( a a ) i i 1 n
a
n 1
2 ( b b ) i i 1 n
6.3 数据集成
数据集成主要是将多文件或多数据库运行环境中的 异构数据进行合并处理,解决语义的模型性问题。该 部分主要涉及数据的选择、数据的冲突问题以及不一 致数据的处理问题。 在数据集成时,首先需要考虑的是模式集成和对象 匹配问题。来自多个信息源的现实世界的等价实体的 匹配涉及实体识别问题。例如,判断一个数据库中的 customer_id与另一个数据库中的cust_number是否是相 同的属性。每个属性的元数据可以用来帮助避免模式 集成的错误,元数据还可以用来帮助变换数据。
数据仓库与数据挖掘技术
第6章 数据预处理技术
主讲人:孙水华 副教授 信息科学与工程学院
目 录
数据预处理概述 数据清理 数据集成 数据变换 数据归约 小结
数据预处理(data preprocessing)是指在对数据进行 数据挖掘主要的处理以前,先对原始数据进行必要的 清洗、集成、转换、离散和归约等等一系列的处理工 作,以达到挖掘算法进行知识获取研究所要求的最低 规范和标准。 现实世界的数据库往往易受噪声、丢失数据和不 一致数据的侵扰,因为数据库太大(常常多达数千兆字 节,甚至更多),并且多半来自多个异构数据源。低质 量的数据将导致低质量的挖掘结果。这就需要进行数 据预处理,从而提高数据质量,进而提高挖掘结果的 质量。 现在人们已经积累了大量的数据预处理技术。如 何恰当选择和应用这些技术得到更有效的数据,是一 个值得探讨的问题。
(2)含噪声。指的是数据具有不正确的属性值, 包含错误或存在偏离期望的离群值。产生的原因很多。 比如收集数据的设备可能出故障;人或计算机的错误 可能在数据输入时出现;数据传输中也可能出现错误。 不正确的数据也可能是由命名约定或所用的数据代码 不一致,或输入字段(如时间)的格式不一致而导致的。 实际使用的系统中,还可能存在大量的模糊信息,有 些数据其至还具有一定的随机性。 (3)杂乱性(不一致性)。原始数据是从各个实际应 用系统中获取的,由于各应用系统的数据缺乏统一标 准的定义,数据结构也有较大的差异,因此各系统间 的数据存在较大的不一致性,往往不能直接拿来使用。 同时来自不同的应用系统中的数据由于合并而普遍存 在数据的重复和信息的冗余现象。
现实世界采集到的大量的各种各样的数据是不符合 挖掘算法进行知识获取研究所要求的规范和标准的。主 要具有以下特征: (1)不完整性。指的是数据记录中可能会出现有些 数据属性的值丢失或不确定的情况,还有可能缺失必需 的数据。这是由于系统设计时存在的缺陷或者使用过程 中一些人为因素所造成的,如有些数据缺失只是因为输 入时认为是不重要的;相关数据没有记录可能是由于理 解错误,或者因为设备故障;与其他记录不一致的数据 可能已经删除;历史记录或修改的数据可能被忽略等等。
(7)用最邻近方法填充缺失值。 方法3~6使数据偏置,填入的值可能不正确。然而,方法 6是流行的策略,与其他方法相比,它使用已有数据的大部分 信息来预测缺失值。在估计家庭月总收入的缺失值时,通过 考虑其他属性的值,有更大的机会保持家庭月总收入和其他 属性之间的联系。
6.2.2 光滑噪声数据
噪声(noise)是被测量的变量的随机误差或方差。给定一个 数值属性,如price,我们怎样才能“光滑”数据,去掉噪声? 我们看看下面的数据光滑技术。 (1)分箱(binning)。分箱方法通过考察数据的“近邻”(即 周围的值)来光滑有序数据的值。有序值分布到一些“桶”或 箱中。由于分箱方法考察近邻的值,因此进行局部光滑。一 般来说,宽度越大光滑效果越大。箱也可以是等宽的,每个 箱值的区间范闱是个常量。 (2)回归。可以用一个函数(如回归函数)拟合数据来光滑 数据。线性回归涉及找出拟合两个属性(或变量)的“最佳”线, 使得一个属性可以用来预测另一个。多元线性回归是线性回 归的扩展,其中涉及的属性多于两个,并且数据拟合到一个 多维曲面。