数据预处理.pdf
数据挖掘 第二章数据预处理 如:通过相关分析消除多余属性;(3)数据压缩( data compression),如:利用 编码方法(如最小编码长度或小波);(4)数据块消减( numerosity reduction, 如:利用聚类或参数模型替代原有数据。此外利用基于概念树的泛化 ( generalization)也可以实现对教据规模的消减,有关概念树的详情将在稍后介 绍 这里需要强调的是以上所提及的各种数据预处理方法,并不是相互独立的, 而是相互关联的。如:消除数据冗余既可以看成是一种形式的数据清洗,也可以 认为是一种数据消减 由于现实世界数据常常是含有噪声、不完全的和不一致的,数据预处理能够 帮助改善欻据的质量,进而帮助提高数禠挖掘进程的冇效性和准确性。高质量的 决策来自高质量的数据。因此数据预处理是整个数据挖掘与知识发现过程中一个 重要步骤 2,2数据清洗 现实世界的数据常常是有噪声、不完全的和不一致的。数据清洗(data cleaning)例程通过填补遗漏数据、消除异常数据、平滑噪声数据,以及纠正不 一致的数据。以下将详细介绍数据清洗的主要处理方法 22.1遗漏数据处理 假设在分析一个商场销售数据时,发现有多个记录中的属性值为空,如;顾 客的收入( Income)属性,对于为空的属性值,可以采用以下方法进行遗漏数据 ( missing data)处理: ◆忽略该条记录。若一条记录中有属性值被遗漏了,则将此条记录排除在 数据挖掘过程之外,尤其当类别属性( class label)的值没有而又要进行 分类数据挖掘时。当然这种方法并不很有效,尤其是在每个属性遗漏值 的记录比例相差较大时 手工填补遗漏值。一般讲这种方法比较耗时,而且对于存在许多遗漏情 况的大规模数据集而言,显然可行较差。 利用缺省值填补遗漏值。对一个属性的所有遗漏的值均利用一个事先确 定好的值来填补。如:都用OK来填补。但当一个属性遗漏值较多值, 若采用这种方法,就可能误导挖掘进程。因此这种方法虽然简单,但并 不推荐使用,或使用时需要仔细分析填补后的情况,以尽量避免对最终 挖掘结果产生较大误差 数据挖掘 第二章数据预处理 利用均值填补遗漏值。计算一个属性(值)的平均值,并用此值填补该 属性所有遗漏的值。如:若一个顾客的平均收入( income)为12,000元, 则用此值填讣 Incomc属性中所有被遗漏的值 ◆利用同类别均值填补遗漏值。这种方法尤其在进行分类挖掘时使用。如 若要对商场顾客按信用风险( credit risk)进行分类挖掘时,就可以用在 同一信用风险类别下(如良好)的 Income属性的平均值,来填补所有 在同一信用风险类别下属性 Income的遗漏值 ◆利用最可能的值填补遗漏值。可以利用回归分析、贝叶斯计算公式或决 策树推断出该条记录特定属性的最大可能的取值。例如:利用数据集中 其它顾客的属性值,可以构造一个决策树来预测属性 Income的遗漏值 最后一种方法是一种较常用的方法,与其他方法相比,它最大程度地利用了 当前数据所包含的信息来帮助预测所遗漏的数据。通过利用其它属性的值来帮助 预测属性 Income的值 222噪声数据处理 噪声是指被测变量的一个随机错误和变化。给定一个数值型属性,如:价格 平滑去噪的数据具体方法说明 排序后价格:4,8,15,21,21,24,25,28,34 划分为等高度bins: Bin1:4,8,15 Bin2:21.21.24 Bin3:25,28,34 根据bin均值进行平滑 Bin1:9,9,9 Bin2:22.22.22 Bin3:29,29.29 根据bin边界进行平滑: Bin1:4.4.15 Bin2:21.21.24 Bin3:25,25,34 图-2.1利用Bin方法进行平滑描述 Bin方法。Bin方法通过利用相应被平滑数据点的周围点(近邻),对 数据挖掘 第二章数据预处理 组排序数据进行平滑。排序后数据分配到若干桶(称为 buckets或bins) 中。由于Bi方法利用周固点的数值来进行局部平滑。图-2.1示意描述 了一些Bin方法技术。在图-2.1中,首先对价格数据进行排序,然后将 其划分为若干等高度的bin(即每个bin包含三个数值,两种典型bin方 法示意描述如图-2.2所示);这时既可以利用每个bin的均值进行平滑 即对每个bin中所有值均用该bi的均值替换。在图-2.1中,笫一个bin 中4、8、15均用该bin的均值9替换,这种方法称为bin均值平滑。与 之类似,对于给定的bin,其最大与最小值就构成了该bin的边界。利用 毎个bin的边界值〔最大值或最小值),替换该bi中的所有值。一般讲 毎个bin的宽度越宽,其平滑效果越明显。若按照等宽划分bin,即毎个 bin的取值间距(左右边界之差)相同。此外bin方法也可以用于属性的 离散化处理,在第五章关联规则挖掘中将要作详细介绍 bin中个数 bin中个数↑ 属性值 属性值 等高bin 等宽bin 图-22两种典型Bin方法 ◆聚类方法。通过聚类分析可帮助发现异常数据( outliers),道理很简单 相似或相邻近的数据聚合在一起形成了各个聚类集合,而那些位于这些 聚类集合之外的数据对象,自然而然就被认为是异常数据。聚类分析方 法的具体内容将在第六章详细介绍 ◆人机结合检查方法。通过人与计算机检查相结合方法,可以帮助发现异 常数据。如:利用基于信息论方法可帮助识别用于分类识别手写符号库 中的异常模式;所识别出的异常模式可输出到一个列表中;然后由人对 这一列表中的各异常模式进行检查,并最终硝认无用的模式(真正异常 的模式)。这种人机结合检查方法比单纯利用手工方法手写符号库进行 检查要快许多。 回归方法。可以利用拟合函数对数据进行平滑。如:借助线性回归( linear regression)方法,包括多变量回归方法,就可以获得的多个变量之间的 数据挖掘 第二章数据预处理 一个拟合关系,从而达到利用一个(或一组)变量值来帮助预测另一个 变量取值的目的。利用回归分析方法所获得的拟合函数,能够帮助平滑 数据及除去其中的噪声 图-23基于聚类分析的异常数据( outliers)检测 许多数据平滑方法,同时乜是数据消减方法。例如:以上描述的bin方法, 可以帮助消减一个属性中不同取值,这也就意味着bin方法可以作为基于逻辑挖 掘方法中的数据消减处理。 223不一致数据处理 现实世界的数据库常出现数据记录内容的不一致,其中一些数据不一致可以 利用它们与外部的关联手工加以解决。例如:输入发生的数据录入错误一般可以 与原稿进行对比来加以纠正。此外还有一些例程可以帮助纠正使用编码时所发生 的不一致问题。知识工程工具也可以帮助发现违反数据约束条件的情况。 由于同一属性在不同数据库中的取名不规范,常常使得在进行欻据集成时, 导致不一致情况的发生。数据集成以及消除数据冗余将在以下小节介绍 2.3数据集成与转换 23.1数据集成处理 数据挖掘任务常常涉及数据集成操作,即将来自多个数据源的数据,如:数 据库、数据立方( data cubes)、普通文件等,结合在一起并形成一个统一数据集 合,以便为数据挖掘工作的顺利完成提供完整的数据基础。 在数据集成过程中,需要考虑解决以下几个问題: (1)模式集成( schema integration)问题,即如何使来自多个数据源的现实 世界的实体相互匹配,这其中就涉及到实体识别问题( entity identification 32 数据挖掘 第二章数据预处理 problem)。例如:如何确定一个数据库中的“ custom id”与另一个数据库中的 cust numher”是否表示同一实体。数据库与数据仓库通常包含元数据 ( mctadata),所谓元数据就是关于数据的数据,这些元数据可以帮助避免在模式 集成时发生错误 (2)冗余问题,这是数据集成中经常发生的另一个问题。若一个属性 ( attribute)可以从其它属性中推演出来,那这个属性就是冗佘属性。如:一个 顾客数据表中的平均月收入属性,就是冗余属性,显然它可以根据月收入属性计 算出来。此外属性命名的不一致乜会导致集成后的数据集岀现不一致情况 利用相关分析可以帮助发现一些欻据冗余情况。例如:给定两个属性,则根 据这两个属性的数值分析出这两个属性间的相互关系。属性A,B之间的相互关 系可以根据以下计算公式分析获得 ●(A-A)(B-B 4.B (2.1) [n 0.0 公式(2.1)中A和B分别代表属性A,B的平均值;σ,和σ分别表示属性A, B的标准方差。若有r>0,则属性A,B之间是正关联,也就是说若A增加,B 也增加;υg值越大,说明属性A,B正关联关系越密。若有r。=0,就有属性A, B相互独立,两者之间没有关系。最后若有r
用户评论