数据挖掘中的数据预处理方法研究*摘要:从初始数据源出发,强调了要结合专业知识来进行初始数据的获取,总结了目前数据预处理的常规流程方法,同时认为应把源数据的获取作为数据预处理的一个步骤,并且创新性地把数据融合的方法引入到数据预处理的过程中,提出了数据的循环预处理模式。
为数据挖掘的进一步研究提供了较好的参考模式,对数据质量的提高提供了更好的分析方法,对预测结果的质量起到了重要保证。
关键词:数据挖掘;数据预处理;数据分析中图法分类号:TP391 文献标识码:A 文章编号:Research on Data Preprocess in Data Mining(College of Mathematics and Informathion Science,North China Institute of Water Conservancy andHydroelectric Power,Zhengzhou 450011,China,)Abstract:Begin from the initial data source ,emphasized gaining initial data needing to compose combining with professional knowledge, and summed up data preprocess routine technological process method,and at the same time, gaining source data should be as a step of data preprocess.Have brought datafusion into data preprocess and bring forward the data circulation preprocess pattern.provided a fairly good reference pattern for further studies in data mining, and provided much better analysis method to raise the data mass, and gave an important guarantee to forecasting the result mass. Key words:Data Mining;Data Preprocess;Data Analysis2005年8月,在第11届ACM SIGKDD国际会议上,新西兰怀卡托大学的Weka系统荣获了数据挖掘和知识探索领域的最高服务奖,被誉为数据挖掘和机器学习历史上的里程碑。
统计发现在整个数据挖掘过程中,数据预处理要花费60%左右的时间,而后的挖掘工作仅占总工作量的10%左右[1] 。
经过预处理的数据,不但可以节约大量的空间和时间,而且得到的挖掘结果能更好地起到决策和预测作用。
一般的,数据预处理分为4个步骤,本文把对初始数据源的选择作为数据预处理过程中的一个步骤,即共分为5个步骤。
因为,如果在数据获得初期就有一定的指导,则可以减少数据获取的盲目性以及不必要噪声的引入且对后期的工作也可节约大量的时间和空间。
整个预处理过程见图1。
1 初始源数据的获取研究发现,通过对挖掘的错误结果去寻找原因,多半是由数据源的质量引起的。
因此,原始数据的获取,从源头尽量减少错误和误差,尤其是减少人为误差,尤为重要。
首先应了解任务所涉及到的原始数据的属性和数据结构及所代表的意义,确定所需要的数据项和数据提取原则,使用合适的手段和严格的操作规范来完成相关数据的获取,由于这一步骤涉及较多相关专业知识,可以结合专家和用户论证的方式尽量获取有较高含金量(预测能力)的变量因子。
获取过程中若涉及到多源数据的抽取,由于运行的软硬件平台不同,对这些异质异构数据库要注意数据源的连接和数据格式的转换。
若涉及到数据的保密,则在处理时应多注意此类相关数据的操作且对相关数据作备注说明以备查用。
2 数据清理数据清理是数据准备过程中最花费时间、最乏味,但也是最重要的步骤。
该步骤可以有效减少学习过程中可能出现相互矛盾情况的问题。
初始获得的数据主要有以下几种情况需要处理:1)含噪声数据。
处理此类数据,目前最广泛的是应用数据平滑技术。
1999年,Pyle 系统归纳了利用数据平滑技术处理噪声数据的方法,主要有:① 分箱技术,检测周围相应属性值进行局部数据平滑。
②利用聚类技术,根据要求选择包括模糊聚类分析或灰色聚类分析技术检测孤立点数据,并进行修正,还可结合使用灰色数学或粗糙集等数学方法进行相应检测。
③利用回归函数或时间序列分析的方法进行修正。
④计算机和人工相结合的方式等。
对此类数据,尤其对于孤立点或异常数据,是不可以随便以删除方式进行处理的。
如刘俊思等通过分析木里县地区弯隆体中锰铁铝榴石带在内核通化组不同层位中呈零星孤立点状或不规则带状产出,表明深部存在不规则热隆,推测出隐伏岩体的存在[2]。
因此,对于孤立点应先进入数据库,而不进行任何处理。
当然,如果结合专业知识分析,确信无用则可进行删除处理。
2)错误数据。
对有些带有错误的数据元组,结合数据所反映的实际问题进行分析进行更改或删除或忽略。
同时也可以结合模糊数学的隶属函数寻找约束函数,根据前一段历史趋势数据对当前数据进行修正。
3)缺失数据。
①若数据属于时间局部性的缺失,则可采用近阶段数据的线性插值法进行补缺;若时间段较长,则应该采用该时间段的历史数据恢复丢失数据。
若属于数据的空间缺损则用其周围数据点的信息来代替,且对相关数据作备注说明,以备查用。
②使用一个全局常量或属性的平均值填充空缺值。
③使用回归的方法或使用基于推导的贝叶斯方法或判定树等来对数据的部分属性进行修复④忽略元组。
4)冗余数据。
包括属性冗余和属性数据的冗余。
若通过因子分析或经验等方法确信部分属性的相关数据足以对信息进行挖掘和决策,可通过用相关数学方法找出具有最大影响属性因子的属性数据即可,其余属性则可删除。
若某属性的部分数据足以反映该问题的信息,则其余的可删除。
若经过分析,这部分冗余数据可能还有他用则先保留并作备注说明。
3 数据集成和数据融合3.1数据集成数据集成是一种将多个数据源中的数据(数据库、数据立方体或一般文件)结合起来存放到一个一致的数据存储(如数据仓库)中的一种技术和过程。
由于不同学科方面的数据集成涉及到不同的理论依据和规则,因此,数据集成可以说是数据预处理中比较困难的一个步骤。
池天河等在重大自然灾害集成项目中利用对多种地学数据及非地学数据的集成取得了较好的预测结果[3]。
李军等在基于地学知识和地理信息系统的相关功能对地学数据进行集成,构建了相关概念模型,并对地学数据集成过程中涉及到的问题进行了说明。
[4]章建国等讨论了在多种数据库中如何处理属性和元组的冗余也提出了较好的解决方法[5]。
邹逸江等对地图学中常见的3种类型数据的集成和检索进行了详细阐述[6]。
可见此部分应更多地结合数据所涉及到的专业问题的特点来分析,需要特殊处理对策,不可一概而论。
3.2数据融合美国学者最早提出“数据融合”一词(又称信息融合),并于20世纪80年代建立其技术。
美国国防部(1991)成功地把数据融合技术应用于军事。
但到目前为止,数据融合尚未有一个统一的定义。
本文所讲的融合仅限于数据层的数据融合,即把数据融合的思想引入到数据预处理的过程中,加入数据的智能化合成,产生比单一信息源更准确、更完全、更可靠的数据进行估计和判断,然后存入到数据仓库或数据挖掘模块中。
常见的数据融合方法见表1:4 数据变换数据变换是采用线性或非线性的数学变换方法将多维数据压缩成较少维数的数据,消除它们在空间、属性、时间及精度等特征表现的差异。
这类方法虽然对原始数据通常都是有损的,但其结果往往具有更大的实用性。
常见数据变换方法见表2。
常用的规范化方法有最小—最大规范化、Z—score规范化(零—均值规范化)、小数定标规范化等。
吴新玲等提出了一个通用的数据变换维数消减模型,给出了应用主成分分析方法计算模型中的数据变换矩阵的方法,应用实例表明,通过数据变换可用相当少的变量来捕获原始数据的最大变化[7]。
具体采用哪种变换方法应根据涉及的相关数据的属性特点,根据研究目的可把定性问题定量化,也可把定量问题定性化进行数据的操作变换。
数据融合方法分类 具体方法静态的融合方法 贝叶斯估值,加权最小平方等动态的融合方法 递归加权最小平方,卡尔曼滤波、小波变换的分布式滤波等。
基于统计的融合方法 有马尔可夫随机场、最大似然法、贝叶斯估值等。
信息论算法 聚集分析、自适应神经网络、表决逻辑、信息熵等模糊集理论/灰色理论 灰色关联分析、灰色聚类等数据变换方法分类 作用数据平滑 去噪,将连续数据离散化,增加粒度数据聚集 对数据进行汇总数据概化 减少数据复杂度,用高层概念替换数据规范化 使数据按比例缩放,落入特定区域属性构造 构造出新的属性表1.常见数据融合方法表表2.数据变换方法分类5 数据归约数据经过去噪处理后,需根据相关要求对数据的属性进行相应处理。
数据规约就是在减少数据存储空间的同时尽可能保证数据的完整性,获得比原始数据小得多的数据,并将数据以合乎要求的方式表示。
数据归约方法主要有以下几种,见表3[8].Hosmer使用SAS中称为Proc Logistic的过程对每个变量进行单变量的逻辑回归达到压缩数据的目的[9]。
吴新玲等通过对高维数据集合的研究,提出了两类维数消减方法:其中一种是从有关变量中消除无关、弱相关或冗余的维,寻找一个变量子集来构建模型,即子集选择法[7]。
而对诸如rough集这种无法处理连续属性值的数据挖掘方法,需对数据中包含的连续属性取值进行离散化,可利用概念层次树,将数据泛化到更高的层次,从而可以帮助有效减少学习过程所涉及的输入、输出操作。
6 结语在数据预处理的实际应用过程中,上述步骤有时并不是完全分开的。
另外,应该针对具体所要研究的问题通过详细分析后再进行预处理方法的选择,整个预处理过程要尽量人机结合,尤其要注重和客户以及专家多多交流。
预处理后,若挖掘结果显示和实际差异较大,在排除源数据的问题后则有必要需要考虑数据的二次预处理,以修正初次数据预处理中引入的误差或方法的不当,若二次挖掘结果仍然异常则需要另行斟酌。
目前本模式已成功应用于水文数据的预处理,并达到了较好的预测效果,另外,对于动态数据,即数据流问题,它和普通数据的预处理有何区别以及如何更好地进行预处理,是笔者目前正在研究的另一问题。
表3. 常见数据规约方法数据规约方法分类 具体方法数据立方体聚集 数据立方体聚集等维规约 属性子集选择方法等数据压缩 小波变换、主成分分析、分形技术等数值压缩 回归、直方图、聚类等离散化和概念分层 分箱技术、直方图、基于熵的离散化等参考文献:[1]Han,Micheline Kamber.Data Mining:Concepts and Techni-ques[M].USA:Morgan Kaufmann Publishers,2001.[2]刘俊思,阐泽忠,秦华中等, 四川木里长枪弯隆石英流体包裹体特征及其地质意义[J]. 四川地质学报2005,25(4):201-202.[3]池天河.重大自然灾害遥感监测与评估集成系统 [M].北京:中国科学技术出版社,1995年.[4]李军,庄大方,地学数据集成的理论基础与集成体系[J].地理科学进展,2001,20(2):137-145.[5]章建国, 施敏,利用高分子结构对数据集成的研究[J]. 石家庄职业技术学院学报2005,l7(2):45-50.[6]邹逸江,吴金华,空间数据仓库的结构设计[J].长安大学学报(地球科学版)2003,25(1):66-69.[7]吴新玲,毋国庆,基于数据变换的维数消减方法[J].武汉大学学报(理学版),2006,52(1):73-76.[8]安淑芝.数据仓库与数据挖掘[M].北京:清华大学出版社,2005年.[9]David W. Hosmer. Applied logistic regression[M].USA: Wiley-Interscience Publication,2000.。