2009年第4期第8卷(总第43期)安徽电子信息职业技术学院学报
JOURNALOFANHUIVOCATIONALCOLLEGEOFELECTRONICS&INFORMATIONTECHNOLOGY
No.42009
GeneralNo.43Vol.8
[文章编号]1671-802X(2009)04-0042-02
数据挖掘中数据预处理方法与技术
于立红1,杜
2
芸1,
(1.郑州轻工业学院民族职业学院,河南郑州450008;
2.武汉大学经济与管理学院,湖北武汉430072)
[摘要]数据挖掘是最近流行的数据库技术和人工智能技术相结合的一门新兴技术。论述了数据预处理在数据
挖掘中的重要地位,介绍了数据预处理过程所包含的内容和采用的方法与技术。
[关键词]数据清理;数据集成;数据变换;数据归约[中图分类号]TP311[文献标识码]B序言
现实中数据大多数都是不完整,不一致的,无法直接进行数据挖掘,或直接影响挖掘结果。为了提高数据挖掘质量和数据挖掘效率,产生了数据预处理技术。统计发现,在整个数据挖掘过程中,数据预处理要花费60%左右的时间,而后的挖掘工作仅占总工作量的10%左右[1]。对数据进行预处理,不但可以节约大量的空间和时间而且得到的挖掘结果能更好地起到决策和预测作用。
数据预处理一般包括:数据清理,数据集成,数据变换,数据归约等方法。这些数据预处理技术根据数据挖掘项目的需要和原始数据的特点,在数据挖掘之前有选择的单独使用或综合使用,可大大提高数据挖掘模式的质量,降低实际挖掘所需要的时间。
1数据清理
数据清理是数据预处理中最花费时间、最乏味的,但也是最重要的一步。该步骤可以有效地减少学习过程中可能出现相互矛盾的情况。数据清理主要处理缺失数据,噪声数据,识别、删除孤立点。数据清理的基本方法[2]:
(1)缺失数据处理
目前最常用的方法是使用最可能的值填充缺失值,比如可以用回归、贝叶斯形式化方法工具或判定树归纳等确定缺失值。这类方法依靠现有的数据信息来推测缺失值,使缺失值有更大的机会保持与其他属性之间的联系。还有其他一些方法来处理缺失值,如用一个全局常量替换缺失值、使用属性的平均值填充缺失值或将所有元组按某些属性分类,然后用同一类中属性的平均值填充缺失值。如果缺失值很多,这些方法可能误导挖掘结果。如果缺失值很少,可以忽略缺失数据。
(2)噪声数据处理
噪声是一个测量变量中的随机错误或偏差,包括错误的值或偏离期望的孤立点值。目前最广泛的是应用数据平滑技术处理,具体包括:①分箱技术,将存储的值分布到一些箱中,用箱中的数据值来局部平滑存储数据的
值。具体可以采用按箱平均值平滑、按箱中值平滑和按箱边界平滑;②回归方法,可以找到恰当的回归函数来平滑数据。线性回归要找出适合两个变量的“最佳”直线,使得一个变量能预测另一个。多线性回归涉及多个变量,数据要适合一个多维面;③计算机检查和人工检查结合方法,可以通过计算机将被判定数据与已知的正常值比较,将差异程度大于某个阈值的模式输出到一个表中,然后人工审核表中的模式,识别出孤立点;④聚类技术,将类似的值组织成群或“聚类”,落在聚类集合之外的值被视为孤立点。孤立点可能是垃圾数据,也可能为我们提供重要信息。对于确认的孤立点垃圾数据将从数据库中予以清除。
2数据集成
数据集成就是将多个数据源中的数据合并存放在一个同一的数据存储(如数据仓库、数据库等)的一种技术和过程,数据源可以是多个数据库、数据立方体或一般的数据文件。数据集成涉及3个问题:
(1)模式集成
涉及实体识别,即如何将不同信息源中的实体匹配来进行模式集成。通常借助于数据库或数据仓库的元数据进行模式识别;
(2)冗余数据集成
在数据集成中往往导致数据冗余,如同一属性多次出现、同一属性命名不一致等。对于属性间冗余,可以先
[3]
采用相关性分析检测,然后删除;
(3)数据值冲突的检测与处理由于表示、比例、编码等的不同,现实世界中的同一实体,在不同数据源的属性值可能不同。这种数据语义上的歧义性是数据集成的最大难点,目前没有很好的办法解决。
3数据变换
数据变换是采用线性或非线性的数学变换方法将多维数据压缩成较少维数的数据,消除它们在时间、空间、
*[收稿日期]2009-06-10
[作者简介]于立红(1970-),男,河南新野人,讲师,计算机应用技术专业工学硕士,研究方向为数据仓库与数据挖掘。
杜芸(1980-),女,河南郑州人,助讲,武汉大学在读硕士研究生,研究方向为软件项目管理。
2009.08.20
技术园地
于立红*杜芸———数据挖掘中数据预处理方法与技术
第4期
属性及精度等特征表现方面的差异。这方法虽然对原始
数据都有一定的损害,但其结果往往具有更大的实用性。常见数据变换方法如下[4]:
(1)数据平滑:去除数据中的噪声数据,将连续数据离散化,增加粒度。通常采用分箱、聚类和回归技术。
(2)数据聚集:对数据进行汇总和聚集。(3)数据概化:减少数据复杂度,用高层概念替换。(4)数据规范化:使属性数据按比例缩放,使之落入一个小的特定区域;常用的规范化方法有最小—最大规
z—score规范化、按小数定标规范化等。范化、(5)属性构造:构造出新的属性并添加到属性集中,以帮助挖掘过程。应用实例表明,通过数据变换可用相当少的变量来捕获原始数据的最大变化。具体采用哪种变换方法应根据涉及的相关数据的属性特点而定,根据研究目的可把定性问题定量化,也可把定量问题定性化。
4数据归约
数据归约技术可以用来得到数据集的归约表示,它接近于保持原数据的完整性,但数据量比原数据小得多。与非归约数据相比,在归约的数据上进行挖掘,所需的时间和内存资源更少,挖掘将更有效,并产生相同或几乎相同的分析结果。几种数据归约的方法[5]:
(1)维归约
通过删除不相关的属性(或维)减少数据量。不仅压缩了数据集,还减少了出现在发现模式上的属性数目。通常采用属性子集选择方法找出最小属性集,使得数据类的概率分布尽可能地接近使用所有属性的原分布。属性子集选择的启发式方法技术有:①逐步向前选择,由空属性集开始,将原属性集中“最好的”属性逐步填加到该集合中;②逐步向后删除,由整个属性集开始,每一步删除当前属性集中的“最坏”属性;③向前选择和向后删除的结合,每一步选择“最好的”属性,删除“最坏的”属性;④判定树归纳,使用信息增益度量建立分类判定树,树中的属性形成归约后的属性子集。
(2)数据压缩
应用数据编码或变换,得到原数据的归约或压缩表示。数据压缩分为无损压缩和有损压缩。比较流行和有效的有损数据压缩方法是小波变换和主要成分分析。小波变换对于稀疏或倾斜数据以及具有有序属性的数据有很好的压缩结果。主要成分分析计算花费低,可以用于有序或无序的属性,并且可以处理稀疏或倾斜数据。
(3)数值归约
数值归约通过选择替代的、较小的数据表示形式来减少数据量。数值归约技术可以是有参的,也可以是无参的。有参方法是使用一个模型来评估数据,只需存放参数,而不需要存放实际数据。有参的数值归约技术有以下2种:①回归:线性回归和多元回归;②对数线性模型:近似离散属性集中的多维概率分布。无参的数值归约技术有3种:①直方图:采用分箱技术来近似数据分布,是一种流行的数值归约形式。其中V-最优和MaxDiff直方图是最精确和最实用的;②聚类:聚类是将数据元组视为对象,它将对象划分为群或聚类,使得在一个聚类中的对象“类似”,而与其他聚类中的对象“不类似”,在数据归约时
③选样:用数据的较小随机用数据的聚类代替实际数据;
样本表示大的数据集,如简单选样、聚类选样和分层选样等。
(4)概念分层
概念分层通过收集并用较高层的概念替换较低层的概念来定义数值属性的一个离散化[6]。概念分层可以用来归约数据,通过这种概化尽管细节丢失了,但概化后的数据更有意义、更容易理解,并且所需的空间比原数据少。对于数值属性,由于数据的可能取值范围的多样性和数
数值属性的概据值的更新频繁,说明概念分层是困难的。
念分层可以根据数据的分布分析自动地构造,如用分箱、直方图分析、聚类分析、基于熵的离散化和自然划分分段等技术生成数值概念分层。分类数据本身是离散数据,一
一种方法是个分类属性具有有限个不同值,值之间无序。
由用户专家在模式级显示地说明属性的部分序或全序,从而获得概念的分层;另一种方法是只说明属性集,但不说明它们的偏序,由系统根据每个属性不同值的个数产生属性序,自动构造有意义的概念分层。
5结语
在数据实际挖掘过程中,针对不同的数据源和数据挖掘目标,有选择的使用数据清理、数据集成、数据变换和数据归约等数据预处理方法和技术。它们的使用没有先后顺序的约束,某一种预处理可能需要循环多次进行,某一种预处理可能一次也不需要。尽管有多种数据预处
对数据挖掘中的理的方法和技术,但都不够成熟。所以,
数据预处理还需要做更进一步的深入研究。
[参考文献]
[1]Han,MichelineKamber.DataMining:ConceptsandTech2niques[M].USA:MorganKaufmannPublishers,2001.
[2]朱明.数据挖掘[M].合肥:中国科学技术大学出版社,2002.
施敏.利用高分子结构对数据集成的研[3]章建国,
究[J].石家庄职业技术学院学报,2005,17(2):45-50.
(英)汉德(DavidHand)著;张银奎等译,数据挖掘[4]原理,北京:机械工业出版社,2004.
[5]安淑芝.数据仓库与数据挖掘[M].北京:清华大学出版社,2005.
[6]MehmedKantardzic.数据挖掘:概念、模型、方法和算法.北京:清华大学出版社,2003.MethodsandTechnologyofDataPreprocess
inDataMiningYuLi-hong,DuYun
Abstract:Dataminingisapopularnewtechnologywhichcombinesthedatabaseandtheartificialintelligenceinrecentyears.Thisarticlediscussesthemainstatusofthedatapreprocessindatamining,andintroducesthecontent,methodsandtechnologyinthedatapreprocess.
Keywords:datacleaning;dataintegration;datatran-sform;datareduction
XUEBAO
2009年第4期第8卷(总第43期)安徽电子信息职业技术学院学报
JOURNALOFANHUIVOCATIONALCOLLEGEOFELECTRONICS&INFORMATIONTECHNOLOGY
No.42009
GeneralNo.43Vol.8
[文章编号]1671-802X(2009)04-0042-02
数据挖掘中数据预处理方法与技术
于立红1,杜
2
芸1,
(1.郑州轻工业学院民族职业学院,河南郑州450008;
2.武汉大学经济与管理学院,湖北武汉430072)
[摘要]数据挖掘是最近流行的数据库技术和人工智能技术相结合的一门新兴技术。论述了数据预处理在数据
挖掘中的重要地位,介绍了数据预处理过程所包含的内容和采用的方法与技术。
[关键词]数据清理;数据集成;数据变换;数据归约[中图分类号]TP311[文献标识码]B序言
现实中数据大多数都是不完整,不一致的,无法直接进行数据挖掘,或直接影响挖掘结果。为了提高数据挖掘质量和数据挖掘效率,产生了数据预处理技术。统计发现,在整个数据挖掘过程中,数据预处理要花费60%左右的时间,而后的挖掘工作仅占总工作量的10%左右[1]。对数据进行预处理,不但可以节约大量的空间和时间而且得到的挖掘结果能更好地起到决策和预测作用。
数据预处理一般包括:数据清理,数据集成,数据变换,数据归约等方法。这些数据预处理技术根据数据挖掘项目的需要和原始数据的特点,在数据挖掘之前有选择的单独使用或综合使用,可大大提高数据挖掘模式的质量,降低实际挖掘所需要的时间。
1数据清理
数据清理是数据预处理中最花费时间、最乏味的,但也是最重要的一步。该步骤可以有效地减少学习过程中可能出现相互矛盾的情况。数据清理主要处理缺失数据,噪声数据,识别、删除孤立点。数据清理的基本方法[2]:
(1)缺失数据处理
目前最常用的方法是使用最可能的值填充缺失值,比如可以用回归、贝叶斯形式化方法工具或判定树归纳等确定缺失值。这类方法依靠现有的数据信息来推测缺失值,使缺失值有更大的机会保持与其他属性之间的联系。还有其他一些方法来处理缺失值,如用一个全局常量替换缺失值、使用属性的平均值填充缺失值或将所有元组按某些属性分类,然后用同一类中属性的平均值填充缺失值。如果缺失值很多,这些方法可能误导挖掘结果。如果缺失值很少,可以忽略缺失数据。
(2)噪声数据处理
噪声是一个测量变量中的随机错误或偏差,包括错误的值或偏离期望的孤立点值。目前最广泛的是应用数据平滑技术处理,具体包括:①分箱技术,将存储的值分布到一些箱中,用箱中的数据值来局部平滑存储数据的
值。具体可以采用按箱平均值平滑、按箱中值平滑和按箱边界平滑;②回归方法,可以找到恰当的回归函数来平滑数据。线性回归要找出适合两个变量的“最佳”直线,使得一个变量能预测另一个。多线性回归涉及多个变量,数据要适合一个多维面;③计算机检查和人工检查结合方法,可以通过计算机将被判定数据与已知的正常值比较,将差异程度大于某个阈值的模式输出到一个表中,然后人工审核表中的模式,识别出孤立点;④聚类技术,将类似的值组织成群或“聚类”,落在聚类集合之外的值被视为孤立点。孤立点可能是垃圾数据,也可能为我们提供重要信息。对于确认的孤立点垃圾数据将从数据库中予以清除。
2数据集成
数据集成就是将多个数据源中的数据合并存放在一个同一的数据存储(如数据仓库、数据库等)的一种技术和过程,数据源可以是多个数据库、数据立方体或一般的数据文件。数据集成涉及3个问题:
(1)模式集成
涉及实体识别,即如何将不同信息源中的实体匹配来进行模式集成。通常借助于数据库或数据仓库的元数据进行模式识别;
(2)冗余数据集成
在数据集成中往往导致数据冗余,如同一属性多次出现、同一属性命名不一致等。对于属性间冗余,可以先
[3]
采用相关性分析检测,然后删除;
(3)数据值冲突的检测与处理由于表示、比例、编码等的不同,现实世界中的同一实体,在不同数据源的属性值可能不同。这种数据语义上的歧义性是数据集成的最大难点,目前没有很好的办法解决。
3数据变换
数据变换是采用线性或非线性的数学变换方法将多维数据压缩成较少维数的数据,消除它们在时间、空间、
*[收稿日期]2009-06-10
[作者简介]于立红(1970-),男,河南新野人,讲师,计算机应用技术专业工学硕士,研究方向为数据仓库与数据挖掘。
杜芸(1980-),女,河南郑州人,助讲,武汉大学在读硕士研究生,研究方向为软件项目管理。
2009.08.20
技术园地
于立红*杜芸———数据挖掘中数据预处理方法与技术
第4期
属性及精度等特征表现方面的差异。这方法虽然对原始
数据都有一定的损害,但其结果往往具有更大的实用性。常见数据变换方法如下[4]:
(1)数据平滑:去除数据中的噪声数据,将连续数据离散化,增加粒度。通常采用分箱、聚类和回归技术。
(2)数据聚集:对数据进行汇总和聚集。(3)数据概化:减少数据复杂度,用高层概念替换。(4)数据规范化:使属性数据按比例缩放,使之落入一个小的特定区域;常用的规范化方法有最小—最大规
z—score规范化、按小数定标规范化等。范化、(5)属性构造:构造出新的属性并添加到属性集中,以帮助挖掘过程。应用实例表明,通过数据变换可用相当少的变量来捕获原始数据的最大变化。具体采用哪种变换方法应根据涉及的相关数据的属性特点而定,根据研究目的可把定性问题定量化,也可把定量问题定性化。
4数据归约
数据归约技术可以用来得到数据集的归约表示,它接近于保持原数据的完整性,但数据量比原数据小得多。与非归约数据相比,在归约的数据上进行挖掘,所需的时间和内存资源更少,挖掘将更有效,并产生相同或几乎相同的分析结果。几种数据归约的方法[5]:
(1)维归约
通过删除不相关的属性(或维)减少数据量。不仅压缩了数据集,还减少了出现在发现模式上的属性数目。通常采用属性子集选择方法找出最小属性集,使得数据类的概率分布尽可能地接近使用所有属性的原分布。属性子集选择的启发式方法技术有:①逐步向前选择,由空属性集开始,将原属性集中“最好的”属性逐步填加到该集合中;②逐步向后删除,由整个属性集开始,每一步删除当前属性集中的“最坏”属性;③向前选择和向后删除的结合,每一步选择“最好的”属性,删除“最坏的”属性;④判定树归纳,使用信息增益度量建立分类判定树,树中的属性形成归约后的属性子集。
(2)数据压缩
应用数据编码或变换,得到原数据的归约或压缩表示。数据压缩分为无损压缩和有损压缩。比较流行和有效的有损数据压缩方法是小波变换和主要成分分析。小波变换对于稀疏或倾斜数据以及具有有序属性的数据有很好的压缩结果。主要成分分析计算花费低,可以用于有序或无序的属性,并且可以处理稀疏或倾斜数据。
(3)数值归约
数值归约通过选择替代的、较小的数据表示形式来减少数据量。数值归约技术可以是有参的,也可以是无参的。有参方法是使用一个模型来评估数据,只需存放参数,而不需要存放实际数据。有参的数值归约技术有以下2种:①回归:线性回归和多元回归;②对数线性模型:近似离散属性集中的多维概率分布。无参的数值归约技术有3种:①直方图:采用分箱技术来近似数据分布,是一种流行的数值归约形式。其中V-最优和MaxDiff直方图是最精确和最实用的;②聚类:聚类是将数据元组视为对象,它将对象划分为群或聚类,使得在一个聚类中的对象“类似”,而与其他聚类中的对象“不类似”,在数据归约时
③选样:用数据的较小随机用数据的聚类代替实际数据;
样本表示大的数据集,如简单选样、聚类选样和分层选样等。
(4)概念分层
概念分层通过收集并用较高层的概念替换较低层的概念来定义数值属性的一个离散化[6]。概念分层可以用来归约数据,通过这种概化尽管细节丢失了,但概化后的数据更有意义、更容易理解,并且所需的空间比原数据少。对于数值属性,由于数据的可能取值范围的多样性和数
数值属性的概据值的更新频繁,说明概念分层是困难的。
念分层可以根据数据的分布分析自动地构造,如用分箱、直方图分析、聚类分析、基于熵的离散化和自然划分分段等技术生成数值概念分层。分类数据本身是离散数据,一
一种方法是个分类属性具有有限个不同值,值之间无序。
由用户专家在模式级显示地说明属性的部分序或全序,从而获得概念的分层;另一种方法是只说明属性集,但不说明它们的偏序,由系统根据每个属性不同值的个数产生属性序,自动构造有意义的概念分层。
5结语
在数据实际挖掘过程中,针对不同的数据源和数据挖掘目标,有选择的使用数据清理、数据集成、数据变换和数据归约等数据预处理方法和技术。它们的使用没有先后顺序的约束,某一种预处理可能需要循环多次进行,某一种预处理可能一次也不需要。尽管有多种数据预处
对数据挖掘中的理的方法和技术,但都不够成熟。所以,
数据预处理还需要做更进一步的深入研究。
[参考文献]
[1]Han,MichelineKamber.DataMining:ConceptsandTech2niques[M].USA:MorganKaufmannPublishers,2001.
[2]朱明.数据挖掘[M].合肥:中国科学技术大学出版社,2002.
施敏.利用高分子结构对数据集成的研[3]章建国,
究[J].石家庄职业技术学院学报,2005,17(2):45-50.
(英)汉德(DavidHand)著;张银奎等译,数据挖掘[4]原理,北京:机械工业出版社,2004.
[5]安淑芝.数据仓库与数据挖掘[M].北京:清华大学出版社,2005.
[6]MehmedKantardzic.数据挖掘:概念、模型、方法和算法.北京:清华大学出版社,2003.MethodsandTechnologyofDataPreprocess
inDataMiningYuLi-hong,DuYun
Abstract:Dataminingisapopularnewtechnologywhichcombinesthedatabaseandtheartificialintelligenceinrecentyears.Thisarticlediscussesthemainstatusofthedatapreprocessindatamining,andintroducesthecontent,methodsandtechnologyinthedatapreprocess.
Keywords:datacleaning;dataintegration;datatran-sform;datareduction
XUEBAO