学习笔记5:数据预处理与数据挖掘十大经典算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学习笔记5:数据预处理与数据挖掘十大经典算法
前言在介绍了数据挖掘的一般流程、常用方法、应用功能和数据可视化之后,在本篇博文中,笔者想要分享一些在数据挖掘开始之前要做的一些事——数据预处理。在第二部分中,笔者整理了数据挖掘中的十大经典算法,与读者们共享。两部分分别从《数据挖掘中数据预处理的方法与技术》一文与网络中引用而来,作为自己和读者朋友们的学习笔记。在第三部分阶段小结中,笔者对近期的学习进行了阶段性的总结。
一、数据预处理现实中数据大多数都是不完整、不一致的,无法直接进行数据挖掘,或直接影响了挖掘结果。为了提高数据挖掘质量和数据挖掘效率,产生了数据预处理技术。对数据进行预处理,不但可以节约大量的空间和时间而且得到的挖掘结果能更好地起到决策和预测作用。数据预处理一般包括:数据清理,数据集成,数据变换,数据归约等方法。这些数据预处理技术根据数据挖掘项目的需要和原始数据的特点,在数据挖掘之前有选择的单独使用或综合使用,可大大提高数据挖掘模式的质量,降低实际挖掘所需要的时间。数据预处理技术整理如下:1、数据清理数据清理是数据预处理中最花费时间、最乏味的,但也是最重要的一步。该步骤可以有效地减少学习过程中可能出现相互矛盾的情
况。数据清理主要处理缺失数据,噪声数据,识别、删除孤立点。数据清理的基本方法有:(1)缺失数据处理:目前最常用的方法是使用最可能的值填充缺失值,比如可以用回归、贝叶斯形式化方法工具或判定树归纳等确定缺失值。这类方法依靠现有的数据信息来推测缺失值,使缺失值有更大的机会保持与其他属性之间的联系。还有其他一些方法来处理缺失值,如用一个全局常量替换缺失值、使用属性的平均值填充缺失值或将所有元组按某些属性分类,然后用同一类中属性的平均值填充缺失值。如果缺失值很多,这些方法可能误导挖掘结果。如果缺失值很少,可以忽略缺失数据。(2)噪声数据处理:噪声是一个测量变量中的随机错误或偏差,包括错误的值或偏离期望的孤立点值。目前最广泛的是应用数据平滑技术处理,具体包括:分箱技术,将存储的值分布到一些箱中,用箱中的数据值来局部平滑存储数据的值。具体可以采用按箱平均值平滑、按箱中值平滑和按箱边界平滑;回归方法,可以找到恰当的回归函数来平滑数据。线性回归要找出适合两个变量的“最佳”直线,使得一个变量能预测另一个。多线性回归涉及多个变量,数据要适合一个多维面;计算机检查和人工检查结合方法,可以通过计算机将被判定数据与已知的正常值比较,将差异程度大于某个阈值的模式输出到一个表中,然后人工审核表中的模式,识别出孤立点;聚类技术,将类似的值组织成群或“聚类”,落在
聚类集合之外的值被视为孤立点。孤立点可能是垃圾数据,也可能为我们提供重要信息。对于确认的孤立点垃圾数据将从数据库中予以清除。2、数据集成数据集成就是将多个数据源中的数据合并存放在一个同一的数据存储(如数据仓库、数据库等)的一种技术和过程,数据源可以是多个数据库、数据立方体或一般的数据文件。数据集成涉及3个问题:模式集成。涉及实体识别,即如何将不同信息源中的实体匹配来进行模式集成。通常借助于数据库或数据仓库的元数据进行模式识别;冗余数据集成。在数据集成中往往导致数据冗余,如同一属性多次出现、同一属性命名不一致等。对于属性间冗余,可以先采用相关性分析检测,然后删除;数据值冲突的检测与处理。由于表示、比例、编码等的不同,现实世界中的同一实体,在不同数据源的属性值可能不同。这种数据语义上的歧义性是数据集成的最大难点,目前没有很好的办法解决。3、数据变换数据变换是采用线性或非线性的数学变换方法将多维数据压缩成较少维数的数据,消除它们在时间、空间、属性及精度等特征表现方面的差异。这方法虽然对原始数据都有一定的损害,但其结果往往具有更大的实用性。常见数据变换方法如下:数据平滑:去除数据中的噪声数据,将连续数据离散化,增加粒度。通常采用分箱、聚类和回归技术。数据聚集:对数据进行汇总和聚集。数据概化:减少数据复杂度,用高层概念替换。数据规范化:使
属性数据按比例缩放,使之落入一个小的特定区域;常用的规范化方法有最小---最大规范化、z—score 规范化、按小数定标规范化等。属性构造:构造出新的属性并添加到属性集中,以帮助挖掘过程。应用实例表明,通过数据变换可用相当少的变量来捕获原始数据的最大变化。具体采用哪种变换方法应根据涉及的相关数据的属性特点而定,根据研究目的可把定性问题定量化,也可把定量问题定性化。4、数据归约数据归约技术可以用来得到数据集的归约表示,它接近于保持原数据的完整性,但数据量比原数据小得多。与非归约数据相比,在归约的数据上进行挖掘,所需的时间和内存资源更少,挖掘将更有效,并产生相同或几乎相同的分析结果。几种数据归约的方法:(1)维归约:通过删除不相关的属性(或维)减少数据量。不仅压缩了数据集,还减少了出现在发现模式上的属性数目。通常采用属性子集选择方法找出最小属性集,使得数据类的概率分布尽可能地接近使用所有属性的原分布。属性子集选择的启发式方法技术有:逐步向前选择,由空属性集开始,将原属性集中“最好的”属性逐步填加到该集合中;逐步向后删除,由整个属性集开始,每一步删除当前属性集中的“最坏”属性;向前选择和向后删除的结合,每一步选择“最好的”属性,删除“最坏的”属性;判定树归纳,使用信息增益度量建立分类判定树,树中的属性形成归约后的属性子集。(2)数据压缩:应用数据编
码或变换,得到原数据的归约或压缩表示。数据压缩分为无损压缩和有损压缩。比较流行和有效的有损数据压缩方法是小波变换和主要成分分析。小波变换对于稀疏或倾斜数据以及具有有序属性的数据有很好的压缩结果。主要成分分析计算花费低,可以用于有序或无序的属性,并且可以处理稀疏或倾斜数据。(3)数值归约:通过选择替代的、较小的数据表示形式来减少数据量。数值归约技术可以是有参的,也可以是无参的。有参方法是使用一个模型来评估数据,只需存放参数,而不需要存放实际数据。有参的数值归约技术有以下2 种:①回归:线性回归和多元回归;②对数线性模型:近似离散属性集中的多维概率分布。无参的数值归约技术有 3 种:①直方图:采用分箱技术来近似数据分布,是一种流行的数值归约形式。其中V-最优和Max Diff 直方图是最精确和最实用的;②聚类:聚类是将数据元组视为对象,它将对象划分为群或聚类,使得在一个聚类中的对象“类似”,而与其他聚类中的对象“不类似”,在数据归约时用数据的聚类代替实际数据;③选样:用数据的较小随机样本表示大的数据集,如简单选样、聚类选样和分层选样等(4)概念分层:通过收集并用较高层的概念替换较低层的概念来定义数值属性的一个离散化。概念分层可以用来归约数据,通过这种概化尽管细节丢失了,但概化后的数据更有意义、更容易理解,并且所需的空间比原数据少。对于数值