毕业设计数据挖掘技术.docx
- 文档编号:11814768
- 上传时间:2023-04-03
- 格式:DOCX
- 页数:42
- 大小:516.59KB
毕业设计数据挖掘技术.docx
《毕业设计数据挖掘技术.docx》由会员分享,可在线阅读,更多相关《毕业设计数据挖掘技术.docx(42页珍藏版)》请在冰豆网上搜索。
毕业设计数据挖掘技术
摘要:
信息高速发展的今天,面对海量数据的出现,如何有效利用海量的原始数据分析现状和预测未来,已经成为人类面临的一大挑战。
由此,数据挖掘技术
应运而生并得到迅猛发展。
数据挖掘是信息技术自然演化的结果,是指从大量数据中抽取挖掘出来隐含未知的、有价值的模式或规律等知识的复杂过程。
本文主要介绍如何利用决策树方法对数据进行分类挖掘。
文中详细的阐述了决策树的基本知识和相关算法,并对几种典型的决策树算法进行了分析比较,如:
核心经典算法——ID3算法;能够处理不完整的数据、对连续属性的数据离散化处理以及克服了ID3算法偏向于选择取值较多的属性作为测试属性的缺点的C4.5算法;利用GINI系数判别数据集中的分裂属性并形成二叉树的CART算法;使数据的分类不受机器主存的限制,有着良好的伸缩和并行性的SLIQ和SPRNIT算法。
ID3算法是最核心的技术,所以本文主要对它进行了研究和设计实现。
第四章在JAVA编译器上实现ID3算法,并对结果进行分析,决策树生成,分类规则的提取,以便于以后直接使用这一规则进行数据分析。
在论文的最后一章介绍了目前数据挖掘技术的研究前景。
关键词:
数据挖掘;决策树;ID3算法;信息增益;熵值
Abstract:
Today,themassageispassedveryquickly.HowtoinvestigatecurrentstatusandforecastthefuturewithgooduseoftremendousoriginalDatahasbeenbecomingthebigchallengetohumanbeingswhenfacingtheemergenceofmassDataininformationera.Consequently,Dataminingtechnologyemergeandboomquickly.
Datamining,istheproductoftheevolutionofinformationtechnology,whichisacomplexprocessexcactingtheimplicatedandvaluablepattens,knowledgeandrulesfromalargescaleofdataset.
Thispapermainlyintroducesthedecisiontreealgorithmforclassification.Firstly,thebasicknowledgeaboutdecisiontreeandsomerepresentativealgorithmsforinducingdecisiontreearediscussed,includingID3,whichisclassical;C4.5,whichcandealwithcontinuousattributesandsomeemptyattribute,atthesametime,itcanovercometheID3’weaknesswhichisapttoselectsomeattributewithmorevalue;CART,whichusesGINIcoefficientaboutattributeselectionandinducesabinarytree;SLIQandSPRINT,whicharescalableandcanbeeasilyparallelized,moreovertheydon’thaveanylimitationofmainmemory.BecauseID3algorithmswhichisclassical,sointhepaperImainintroduceit.
Thefirthchapter,ID3algorithmisdevelopedonthejavaplatformbyjava,andcarriesontheanalysistotheresult,thedecisiontreeproduction,theclassifiedruleextraction,itwillbeadvantageousforustousethisruletocarryonthedataanalysisdirectlyinthefuture.Iintroducedataminingtechnologyresearchprospectinthepaperlastchapter.
Keywords:
Datamining;Decisiontree;ID3algorithm;Informationgain;Entropyvalue
第一章绪论
1.1数据挖掘技术
1.1.1数据挖掘技术的应用背景
最近几十年以来,随着互联网的发展和企业信息化程度的日益提高,科研政府部门普遍使用电子事物处理技术,商品条形码被广泛使用,以及电子商务和科学数据库的急剧增长为我们带来了海量的数据。
激增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据。
而目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势,缺乏挖掘数据背后隐藏的知识的手段,从而导致了“数据爆炸但知识贫乏”的现象。
大量信息在给人们带来方便的同时也带来了一大堆问题:
第一是信息过量,难以消化;第二是信息真假难以辨识;第三是信息安全难以保证;第四是信息形式不一致,难以统一处理。
人们开始考虑:
“如何才能不被信息淹没,而是从中及时发现有用的知识、提高信息利用率?
”这就引发了一门新兴的自动信息提取技术:
数据中的知识发现,简称KDD[1](KnowledgeDiscoveryinDataBase)。
其内容主要涉及人工智能领域中的机器学习,模式识别、统计学、智能数据库、知识获取、专家系统、数据库可视化、数据库领域的数据仓库联机分析处理(OLAP),多维数据库等方面。
KDD已经是解决目前信息系统中普遍面临的“数据爆炸”而“信息缺乏”状况的最有效的手段之一,并且它的研究领域具有较大的研究意义和较多的研究方向一度成为数据库研究界最热的研究方向,拥有人数众多的研究群体,受到学术界和企业界的极大关注。
多学科的相互交融和相互促进,使得这一学科得以蓬勃发展,而且已初具规模。
并行计算、计算机网络和信息工程等其他领域的国际学会、学刊也把数据挖掘和知识发现列为专题和专刊讨论,甚至到了脍炙人口的程度。
数据挖掘是目前研究的热点,它可以说是数据库研究中的一个非常有应用价值的新领域,它融合了数据库、人工智能、机器学习、数理统计学、模糊数学等多个领域的理论和技术。
数据挖掘DM[2](DataMining)是KDD的一个最关键步骤,因此实际应用中把DM和KDD不作区分。
数据挖掘是目前研究的热点,它可以说是数据库研究中的一个非常有应用价值的新领域,它融合了数据库、人工智能、机器学习、数理统计学、模糊数学等多个领域的理论和技术。
从数据分析的观点来看,数据挖掘分为两类:
描述性数据挖掘和预测性数据挖掘。
描述性数据挖掘以概要方式描述数据,提供数据所具有的一般性质;预测性数据挖掘分析数据,建立一个或一组模型,产生关于数据的预测。
包括分类和回归。
分类可用于提取描述重要数据的模型或预测未来的数据趋势。
1995年,在美国计算机年会(ACM)上,提出了数据挖掘的概念。
即通过从数据库中抽取隐含的,未知的,具有潜在使用价值信息的过程。
数据挖掘应用的普遍性及带来的巨大的经济和社会效益,吸引了许多专家和研究机构从事该领域的研究,许多公司推出了自己的数据库挖掘系统。
从1989年举行的第十一届国际联合人工智能学术会议上KDD被提出,到现在不过十多年的时间,但在GartnerGroup的一次高级技术调查中将数据挖掘和人工智能列为“未来5年内将对工业产生深远影响的五大关键技术”之首,并且还将数据挖掘列为未来五年内十大新兴技术投资焦点的第二位。
根据最近Gartner的HPC研究表明,“随着数据捕获、传输和存储技术的快速发展,大型系统用户将更多地需要采用新技术来挖掘市场以外的价值,采用更为广阔的并行处理系统来创建新的商业增长点。
”
1.1.2数据挖掘的定义及系统结构
数据挖掘也称为数据库中的知识发现KDD(KnowledgeDiscoveryinDataBase)。
指的是从存放在数据库、数据仓库或其他信息库中的大量数据中挖掘出人们感兴趣的知识,这些知识是隐含的、事先未知的潜在有用信息。
目的是帮助决策者寻找数据间潜在的关联,发现被忽略的要素,而这些信息对预测趋势和决策行为也许是十分有用的。
数据挖掘技术能从DW中自动分析数据,进行归纳性推理,从中发掘出潜在的模式,或产生联想,建立新的业务模型,这是一个高级的处理过程。
高级的处理过程是指一个多步骤的处理过程,多步骤之间相互影响、反复调整,形成一种螺旋式上升过程。
这个过程与人类问题求解的过程是存在巨大相似性的。
决策树分类算法的研究与改进挖掘过程可能需要多次的循环反复,每一个步骤一旦与预期目标不符,都要回到前面的步骤,重新调整,重新执行。
从广义角度讲数据、信息是知识的表现形式,但在数据挖掘中更多把概念、规则、模式、规律和约束等看作知识。
原始数据可以是结构化的,如关系型数据库中的数据,也可以是半结构化的,如文本、图形、图像数据、甚至是分布在网络上的异构型数据。
发现知识的方法可以是数学的或非数学的、演绎的或归纳的。
发现的知识可以被用于信息管理、查询优化、决策支持、过程控制等。
总之,数据挖掘是一门广义的交叉学科,它的发展和应用涉及到不同的领域尤其是数据库、人工智能、数理统计、可视化、并行计算等。
因此,概括起来从广义上来说,数据挖掘是从大型数据集(可能是不完全的,有噪声的,不确定的,各种存储形式的)中,挖掘隐含在其中的,人们事先不知道的,对决策有用的知识的过程[3]。
从狭义上来说,数据挖掘是从特定形式的数据集中提炼知识的过程。
数据挖掘的系统结构可以用以下的图来说明:
图1.1数据挖掘系统结构图
·数据库、数据仓库或其他信息库:
这是一个或一组数据库、数据仓库、电子表格或其他类型的信息库。
可以在数据上进行数据清理和集成。
·数据库或数据仓库服务器:
根据用户的数据挖掘请求负责提取相关数据。
·知识库:
这是领域知识,用于指导、搜索或评估结果模式的兴趣度。
·数据挖掘引擎:
这是数据挖掘系统的基本部分。
由一组功能模块组成,用于特征化、关联、分类、聚类分析以及演变和偏差分析。
·模式评估模块:
通常,此模块使用兴趣度度量,并与数据挖掘模块交互,以便将搜索聚焦在有趣的模式上。
·图形用户界面:
本模块在用户和数据挖掘系统之间通信,允许用户与系统交互,指定数据挖掘查询或任务,提供信息,帮助搜索聚焦,根据数据挖掘的中间结果进行探索式数据挖掘。
此外,此模块还允许用户浏览数据库和数据仓库模式或数据结构,评估挖掘的模式,以不同的形式对模式可视化。
1.1.3数据挖掘的方法
数据挖掘的功能用于指定数据挖掘任务中要找的模式类型,其任务一般可分为两类:
描述和预测。
描述性挖掘任务刻画数据库中数据的一般特性,预测性挖掘任务在当前数据上进行推断,以进行预测。
在实际应用中,往往根据模式的实际应用细分为以下6种[4]:
1.分类模式
2.回归模式
3.时间序列模式
4.聚类模式
5.关联模式
6.序列模式
本文主要介绍分类算法,所以下面主要介绍分类分析方法,分类分析要分析数据库中的一组对象,找出其共同属性,构造分类模型,然后利用分类模型对其它的数据对象进行分类。
要构造分类模型,需要一个训练样本数据集作为输入,训练集由一组数据库记录或元组组成,每个元组包含一些字段值,又称“属性”或“特征”,这些字段和测试集中记录的字段相同,另外,每个训练样本记录有一个类别标识。
分类目标是分析训练集中的数据,利用数据中能得到的特征,为每一类建立一个恰当的描述或模型,然后根据这些分类描述对测试数据进行分类或产生更恰当的描述。
我们可以举一个简单的例子,信用卡公司的数据库中保存着各持卡人的记录,公司根据信誉程度将持卡人记录分成三类:
良好、一般、较差,并且类别标记己赋给了各个记录。
分类分析就是分析该数据库的记录数据,对每个信誉等级做出准确描述,如“信誉良好的客户是指那些年收入在5万元以上,年龄在40-50岁之间的人士”,然后根据这些描述对其它具有相同属性的数据库记录进行分类。
在分类分析中,分类模型的构造方法有统计方法、神经网络方法及机器学习方法等。
统计方法包括贝叶斯法和非参数法(近邻学习或基于事例的学习),对应的知识表示为判别函数和原型事例。
神经网络方法主要是多层前向神经网络的误差反向传播(errorbackpropagation,BP)算法,用模型表示是前向反馈神经网络模型,该算法实质是一种非线性的判别函数。
机器学习方法包括决策树法和规则归纳法,前者对应的表示是决策树或判别树,后者则一般为产生式规则。
另外,近年来又出现了一种称为粗糙集(Roughset)新的理论方法,它将知识表示为产生式规则。
在解决实际问题时,经常要同时使用多种模式。
分类模式和回归模式是使用最普遍的模式。
分类模式、回归模式、时间序列模式也被认为是受监督知识,因为在建立模式前数据的结果是已知的,可以直接用来检测模式的准确性,模式的产生是在受监督的情况下进行的。
一般在建立这些模式时,使用一部分数据作为样本,用另一部分数据来检验、校正模式。
1.1.4数据挖掘系统的发展
根据R.Grossman的观点,数据挖掘的发展过程可分为如下所介绍的一到四代[5]:
第一代:
第一代的数据挖掘系统仅支持一个或少数几个数据挖掘算法,这些算法只能够挖掘向量数据。
如果数据足够大,并且频繁的变化,这就需要利用数据库或者数据仓库技术进行管理,第一代系统显然不能满足需求。
第二代:
第二代系统的主要特点是支持与数据库和数据仓库的高性能接口,并有高的可测量性和功能性。
第二代系统提供了数据挖掘模式和数据挖掘查询语言,从而具有更高的灵活性。
然而第二代系统只注重模型的生成,如何和预言模型系统集成的问题导致了第三代数据挖掘系统的开发。
第三代:
第三代数据挖掘系统可挖掘intranets和extranets上的分布的和高度异质的数据,并能有效的和操作系统结合。
这一代数据挖掘系统的关键技术之一是提高对建立在异质系统上的多个预言模型以及管理这些预言模型的元数据提供第一级别的支持。
第四代:
第四代数据挖掘系统可以挖掘嵌入式、移动式以及一般性的计算设备所产生的各种数据。
1.1.5数据挖掘的应用与面临的挑战
尽管数据挖掘是一个新兴的研究领域,但是却得到了稳定的发展,每年市场上都会出现新的数据挖掘系统,各大数据库软件公司也分别推出了自己的数据挖掘产品。
数据挖掘广泛应用于科学研究、商业应用、以及Web挖掘等很多领域。
(1)科学研究
数据挖掘在天文学上有一个著名的应用系统:
SKICAT[27](SkyImageCatalogingandAnalysisTool)。
它是加州理工学院喷气推进实验室与天文学家合作开发的用于帮助天文学家发现遥远的类星体的一个工具。
SKICAT的任务是构造星体分类器对星体进行分类,使用了决策树方法构造分类器,结果使得能分辨的星体较以前的方法在亮度上要低一个数量级之多,而且新的方法比以往的方法要在效率上要高40倍以上。
数据挖掘在生物学上的应用主要集中于分子生物学特别是基因工程的研究上。
进几年,通过用计算生物分子系统分析法,尤其是基因数据库搜索技术以在基因研究上做出了很多重大发现,数据挖掘在分子生物学上的工作可分为两种:
一是从各种生物体的DNA序列中定位出具有某种功能的基因串;二是在基因数据库中搜索与某种具有高阶结构(不是简单的线形结构)或功能的蛋白质相似的高阶结构序列。
(2)商业应用
数据挖掘技术以及应用此技术所获得知识和信息可以被广泛的应用于信息管理、商务管理、过程控制、市场分析、工程设计和科学研究等众多领域,这些领域的管理决策层可以通过对历史数据的分析,发现诸如市场供需规律、商品价格走势、家庭收入与消费特点、购买商品的习惯等规律,以支持企业的生产、经营和销售决策。
(3)web挖掘(WebMining)
随着网络的迅速发展,今天它己经成为人们交流思想,获取信息的便利手段。
但这些信息缺乏结构化、组织的规律性、随意的散布在网络的各个角落,这已经成为这座世界性图书馆的一大缺憾。
数据挖掘在因特网上的应用主要包括三种:
在搜索引擎上(SearchEngine)对文档进行自动分类、帮助用户寻找感兴趣的新闻以及利用数据挖掘设计一个电子新闻过滤系统。
它利用文本学习建立起该用户的趣向模型,当用户进入一份电子报纸的网页时,该系统就会根据学习所得的模型对其中的每一篇文章按与用户的兴趣的接近程度进行打分排序,以便使用户看到他最感兴趣的新闻。
这些实践将数据挖掘和各特定领域知识结合起来,满足了特定任务的需要,也取得了一些很大的成绩。
数据挖掘任务和方法的多样性给数据挖掘提出了许多挑战性的课题。
在未来的课题研究中,数据挖掘研究人员、系统和应用开发人员所面临的主要问题[6]有:
(1)挖掘算法的效率和可扩展性
目前,GB数量级的数据库已经不鲜见,TB数量级的数据库也开始出现。
海量数据库中存有成百个属性和表,成百万个元组,问题的维数很大,这不但增大了知识发现算法的搜索空间,也增加了盲目发现的可能性。
因此,必须通过增加知识发现过程中系统和用户的交互,既充分利用领域知识除去无关数据,降低问题维数,对待挖掘数据进行有效的预处理,又要利用领域知识进一步精练所发现的模式,滤除因搜索空间过大可能获得的无用信息,从而设计出更理想的知识发现算法。
(2)待挖掘数据的时序性
在应用领域的数据库中,数据大多是随时间变化的,这可能使得原先发现的知识失去效用,也为开发强有力的知识发现系统提供了潜在的舞台,因为重新训练一个系统毕竟要比重新训练一个人(改变他的思维、观点等)容易得多。
我们可以来用随时间逐步修正所发现的模式来指导新的发现过程。
互联网络上的知识发现正日益普及,在这信息的海洋中可以发现大量的新知识。
己有一些资源发现工具可用来发现含有关键字的文本。
目前的问题是,如何从复杂的数据例如多媒体结构化的数据中提取有用的信息,对多层次数据库的维护,以及如何处理数据的异类性和自主性等等。
(3)和其它系统的集成
一个方法、功能单一的发现系统,其适用范围必然受到限制。
要在更广阔的领域发现知识,知识发现系统就应该是数据库、知识库、专家系统、决策支持系统、可观化工具、网络等多项技术集成的系统。
(4)遗漏的噪声数掘
这个问题在商业数据库中尤其突出,据报告,美国人口调查数据的错误率上升到20%。
如果不经认真考虑就来设计待挖掘数据库,重要的属性可能会被遗漏掉。
用更复杂的统计策略识别隐藏的变量和相关性成为必然。
(5)挖掘结果的可理解性
这是评估挖掘系统的一个重要环节。
我们应该尽可能采用图形表示、有向非循环图结构的规则、自然语言生成以及数据和知识的可视化等技术,提高挖掘结果的可理解性。
(6)私有数据的保护与数据安全性
当我们可以在不同的角度和不同的层次看到数据库中的数据时,这与我们保护数据的安全性和保护私人数据的目标相抵触。
因此对在什么情况下数据挖掘将会导致对私有数据造成侵犯和采用何种措施来防止敏感信息泄露的研究变得非常重要。
1.2决策树分类算法及其研究现状
分类技术是数据挖掘的重要分支,它能够对各个行业提供良好的决策支持,对整个社会的发展产生重要而深远的影响。
数据挖掘的分类模式是一种有指导性的学习,即是以实例为基础的归纳学习算法,通过分析由属性描述的训练数据集来构造模型由此来预测新元组的分类标记。
数据分类存在很多方法,如判定树归纳、贝叶斯分类、神经网络以及K-最临近分类、遗传算法和粗糙集等。
其中决策树归纳以其易于提取显式规则、计算量相对较小、可以显示重要的决策属性和较高的分类准确率等优点而得到广泛的应用。
据统计,目前决策树算法是利用最广泛的数据挖掘算法之一,利用率高达19%。
应用领域已由医疗到博弈论和商务等领域,是一些商业规则归纳系统的基础。
在计算机科学中采用树形结构描述数据集已有不短的时间了,但它一直是一个不受重视的知识发现过程。
随着数据挖掘技术的产生,决策树得到了很快的发展。
决策树的算法己有很多。
1986年J.RossQuinlan引入了ID3算法后,引起了很大的反响[7]。
在此基础上,他又于1993年,在其“ProgramForMachineLearning”一书中,对ID3算法进行了补充和改进,提出了后来非常流行的C4.5算法。
在大数据量情况下的效率和生成规则的数量与正确性方面有了显著的提高。
此外,CHAID算法也有相当广泛的应用。
1996年又提出了SLIQ和SPRINT算法,RAINFOREST框架结构,它们强调算法的可伸缩性。
由于数据挖掘的对象是规模庞大的数据,已有的分类算法在数据量小时能够准确、高效的分类,效果很好。
但当用于处理大量数据时,已有的算法都会不同程度的出现各种问题,分类效果不理想。
因此,研究数据挖掘中准确、有效的分类算法,虽然是一个传统的问题,但仍具有挑战性。
目前,在知识发现和数据挖掘的研究和开发中已经取得了一些令人瞩目的成绩,对关联规则、聚类等基本算法的研究已经基本日趋成熟,人们的研究重点逐渐转移到数据挖掘技术在新的数据类型、应用环境中使用时所出现的新问题的解决上。
例如:
1.决策树技术和神经网络技术相结合。
决策树也具有产生n维空间下任意复杂的决策边界的功能。
因此,可以将决策树重新构造成一个多层的神经网络。
这类方法解决了由神经网络得到的知识难于被人们理解的缺点。
2.决策树技术和模糊集合原理的结合。
决策树技术虽然有许多优点,但也存在着不稳定的缺点,即决策树带来了较大的变动。
模糊集合的融通性使人们利用模糊逻辑来解决决策树的这一缺点并取得了不错的效果。
3.决策树技术和进化算法,遗传算法及遗传编程的结合。
基于进化算法的决策树系统具有较好的抗噪声能力,同时进化算法很容易在并行计算机上运行,因此可以期待基于进化算法的决策树的运算能力有较大的提高。
4.决策树技术和多智能体的结合。
多智能体系统的复杂性,而机器学习有潜力提供一个鲁棒性较强的机制来有效协调各智能体间的行为,因此对多智能体结合机器学习是一个很有前途的方向。
5.寻找新的构造决策树的方法。
自从Quinlan提出ID3和C4.5方法后,有不少专家提出了其他构造决策树的方法,M.Amherst等提出了基于多维可视化下的交互式的决策树构造,此方法在决策树构造阶段加入了专家知识,这样便于用户更深地理解产生决策树的数据及最终产生的决策树,同时也显著地减小了决策树的大小。
6.寻找更好的简化决策树的方法。
寻找更好的简化决策树的方法,这一直是决策树技术研究的一个热点。
D.Fournier等提出的一种新的修剪决策树的方法2DI修剪法。
此方法针对数据不确定的情况,利用特性索(QualityIndex)来权衡处理决策树深度和节点杂质。
2DI修剪法将保持那些虽不能减小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 数据 挖掘 技术