1、分类号: TP392 密级: 公开 学号: 0630301012 江苏科技大学硕 士 学 位 论 文(工程硕士)基 于 决 策 树 学 习 方 法 的 科 技 管 理 信 息分 类 挖 掘 研 究研 究 生 姓 名 杨 文 兴 指 导 教 师 朱 志 宇 学 位 类 别 工 程 硕 士 专 业 领 域 计 算 机 技 术 研 究 方 向 数 据 挖 掘 A Thesis Submitted in Fulfillment of the Requirements for the Degree of Master of EngineeringThe research of Classificatio
2、n Mining based on Decision Tree learning methods for science and technology management information Submitted byYang WenXingSupervised byProfessor Zhu ZhiYuJiangsu University of Science and TechnologyJune, 2009论 文 独 创 性 声 明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写
3、过的研究成果,也不包含为获得江苏科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名: 日 期:学 位 论 文 使 用 授 权 声 明 江苏科技大学有权保存本人所送交的学位论文的复印件和电子文稿,可以将学位论文的全部或部分上网公布,有权向国家有关部门或机构送交并授权其保存、上网公布本学位论文的复印件或电子文稿。本人电子文稿的内容和纸质论文的内容一致。除在保密期内的保密论文外,允许论文被查阅和借阅。 研究生签名: 导师签名:日 期: 日 期:摘 要I摘 要数据仓库和数据挖掘是数据库研究、开发和应用最活跃
4、的分支之一,也是决策支持系统的关键因素,数据仓库是一个支持管理决策过程的、面向主题的、随时间而变的数据集合,它是集成的,也是稳定的。数据挖掘是采用人工智能的方法对数据库和数据仓库中的数据进行分析、获取知识的过程。它们的结合能更好地为行业或有关部门不同范围的决策分析提供有力的依据。纵观以往的科研管理系统,多半是 OLTP 系统,缺乏综合分析、辅助决策的能力;并且对其历史积累的大量信息中隐含知识的利用无能为力。对科研管理进行分析是科研发展规划、评估的重要手段,采用数据挖掘技术对科研数据进行多层次、多角度的分析与挖掘,利用挖掘结果辅助科研决策是保证科研投入质量、加快科研创新能力建设的必然要求。本文主
5、要探讨了基于 SQL SERVER 系统分析服务的数据挖掘技术的基本理论和实施方法,探索了数据挖掘分类方法和实施预测。结合科技管理系统,从操作型数据库中抽取、清洗、汇总相关输入项,并对课题组活动主要类型进行预定义,结合微软分析服务系统,探索模型节点最佳拆分分数度量方法,分别建立决策树及神经网络挖掘模型,并用于测试集分析挖掘准确率,最终成功应用于我校科研管理数据分析。通过在科研管理系统中的具体挖掘实践,得到了许多有价值的信息,这些知识在帮助学校更好地进行科研政策制定、科研资金投入以及设备资源的安排等方面无疑具有重要的指导意义。关键词: 数据挖掘;分类预测;决策树;科研管理 ABSTRACTIIA
6、BSTRACTData warehouse and data mining is the database of the research, development and application of one of the most active branches, but also decision support system the key element is a data warehouse to support management decision-making process, subject-oriented, with the time change data set,
7、It is integrated, is also stable. Data mining is a method of using artificial intelligence database and data warehouse for analysis of the data, the process of acquiring knowledge. The combination of them better for the industry or the departments concerned of the decision-making in different areas
8、to provide a strong basis for analysis.Looking at the past, research management systems, most OLTP systems, the lack of comprehensive analysis to support decision-making capacity; and its historical accumulation of a large amount of information implied in the use of knowledge could do nothing about
9、it. Analysis of the management of scientific research is research and development planning, an important means of assessment, using data mining technology on the scientific data to multi-level, multi-angle analysis and mining, scientific research supporting the use of excavation results of research
10、into decision-making is to ensure the quality and speeding up research and innovation capacity-building inevitable requirement.This article discusses the system analysis based on the SQL SERVER service data mining technology to implement the basic theory and methods, and explore the data mining clas
11、sification methods and the implementation of the forecast. Combination of science and technology management system, from the operational database extraction, cleansing, aggregation of the relevant input, and the main types of group activities for pre-defined in light of Microsoft analysis services,
12、and explore the best model of the node split Score metric methods, respectively, information entropy, BK2, BDEU Resolution Measurement Methods for mining model, and analysis of excavation for test set accuracy, the ultimate success of the school I applied to the management of scientific research dat
13、a analysis.Research management system in the specific practice of mining has been a lot of valuable information, the knowledge to assist schools to better research and policy development, research funding and equipment resources, such as the arrangement is undoubtedly of great guiding significance.K
14、EY WORDS:Data Mining;Classification and Prediction;Decision-tree ;R可以是演绎的,也可以是归纳的。发现了的知识可以被用于信息管理、查询优化、决策支持、过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一门广义的交叉学科,它汇聚了不同领域的研究者,尤其是数据库、人工智能、数理统计、可视化、并行计算等方面的学者和工程技术人员 8。因为数据挖掘算法的好坏将直接影响到 KDD 所发现知识的准确性,而且目前KDD 研究大部分集中在数据挖掘算法和应用的技术上,因此人们往往不严格区分数据挖掘和数据库中的知识发现,两者互为使用。一般在科研领
15、域中称为 KDD,而在工程领域则称为数据挖掘。图 2-1 所示为典型的数据挖掘系统结构第二章 数据挖掘技术92.2 数据挖掘过程KDD 过程如图 2-2 所示。KDD 过程可以概括为三部分: 数据预处理(Data Preprocessing) 、数据挖掘( Data Mining)及结果的解释和评估( Interpretation 二是要根据用户或实际运行系统的要求,有的用户可能希望获取描述型的(Descriptive ) 、容易理解的知识,而有的用户只是希望获取准确度尽可能高的预测型(Perdictive)知识。选择了挖掘算法后,就可以实施数据挖掘操作,获取有用的模式。3.结果的解释和评估数
16、据挖掘阶段发现出来的模式,经过评估可能存在冗余或无关的模式,这时需要将其剔除;也有可能模式不满足用户要求,这时则需要回退到发现过程的前面阶段,如重新选取数据,采用新的数据变换方法,设定新的参数值,甚至换一种挖掘算法等。另外,KDD 由于最终是面向人类用户的,因此可能要对发现的模式进行可视化,或者把结果转换为用户易懂的另一种表示,如把分类决策树转换为“IFTHEN”规则 9。数据挖掘仅仅是整个过程中的一个步骤。数据挖掘质量的好坏有两个影响要素:第二章 数据挖掘技术11一是所采用的数据挖掘技术的有效性,二是用于挖掘的数据的质量和数量(数据量的大小) 。如果选择了错误的数据或不适当的属性,或对数据进
17、行了不适当的转换,则挖掘的结果是不会好的。整个挖掘过程是一个不断反馈的过程。比如,用户在挖掘途中发现选择的数据不太好。或是使用的挖掘技术产生不了期望的结果。这时,用户需要重复先前的过程,甚至从头重新开始。2.3 数据挖掘的类型数据挖掘可按数据库类型、挖掘对象、挖掘任务、挖掘方法与技术等几个方面进行分类 14。1 按数据库类型分类数据挖掘主要是在关系数据库中挖掘知识。随着数据库类型的不断增加,逐步出现了不同数据库的数据挖掘。现在,除关系数据库挖掘外,还有模糊数据挖掘、历史数据挖掘、空间数据挖掘等多种不同数据库的数据挖掘类型。2. 按数据挖掘对象分类数据挖掘除了对数据库这个主要对象进行挖掘外,还有
18、文本数据挖掘、多媒体数据挖掘、Web 数据挖掘等。由于对象不同,挖掘方法的差异很大。3. 按数据挖掘任务分类数据挖掘的任务有:关联分析、时序模式、聚类、分类、偏差监测、预测等。按任务分类可将数据挖掘分为:关联规则挖掘、序列模式挖掘、聚类数据挖掘、分类数据挖掘、偏差分析挖掘和预测挖掘等类型。4. 按数据挖掘的方法和技术分类数据挖掘的技术和方法较多。包括归纳学习类、聚类方法类、统计分析类、仿生物技术类、模糊数学类、可视化技术类等。2.4 数据挖掘的任务数据挖掘的任务主要有关联分析、聚类分析、分类、预测、时序模式和偏差分析等 15。1.关联分析(Assoeiation Analysis)两个或两个以
19、上数据项的取值之间存在某种规律性,就称为关联,可以建立起这江苏科技大学工学硕士学位论文12些数据项的关联规则。数据关联是数据库中存在的一类重要的、可被发现的知识,它反映一个事件和其他事件之间依赖或关联。如果两项或多项属性之间存在关联,那么其中一项的属性值就可以依据其他属性值进行预测。例如,买面包的顾客中 90%还买牛奶,这就是一条关联规则。在商场中将这两样物品摆放在一起销售,将会提高销售量。在大型数据库中,这样的关联规则可以产生很多,这就需要进行筛选。一般用“支持度”和“可信度”两个阀值来淘汰那些无用的关联规则。2.聚类分析(Clusteing)聚类是把数据按照它们的相似性归纳成若干类别,同一
20、类别中的数据距离较小、彼此相似,不同类别中的数据距离偏大、彼此相异。聚类分析可以建立宏观的概念,发现数据的分布模式,以及可能的数据属性之间的相互关系 16。聚类方法包括统计分析方法、机器学习方法和神经网络方法等。在统计分析方法中,聚类分析是基于距离的聚类。这种聚类分析方法是一种基于全局比较的聚类,它需要考察所有的个体才能决定类的划分。在机器学习方法中,聚类是无导师的学习。此时距离是跟据概念的描述来确定的,又称为概念聚类,当聚类对象动态增加时,概念聚类则称为概念形成。在神经网络中,自组织神经网络方法用于聚类。如 ART 模型、Kohonen 模型等,这是一种无监督学习方法。当给定距离阀值后,各样
21、本按阀值进行聚类。3.分类(Classifieation)分类是数据挖掘中应用得最多的任务。分类就是找出一个类别的概念描述,并用这种描述来构造模型(一般用规则或决策树模式表示) 。类别的概念描述代表着这类数据的整体信息,也就是该类的内涵描述 17。分类的内涵描述分为:特征描述和辨别性描述。特征描述是对类中对象的共同特征的描述。辨别性描述是对两个或多个类之间的区别的描述。分类的过程是:分析输入数据,通过在训练集中的数据所表现出来的特性,经过有关算法,为每一个类找到一种准确的描述或者模型,并使用这种类的描述对未来的测试数据进行分类。4.预测(Predication)预测是利用历史数据找出变化规律,
22、建立模型,并由此模型对未来数据的种类及特征进行预测。典型的预测方法是回归分析,即利用大量的历史数据,以时间为变量建立线性或非线性回归方程。预测时,只要输入任意的时间值,通过回归方程就可求出该时间的第二章 数据挖掘技术13状态。近年来,发展起来的神经网络方法(如 BP 模型) ,实现了非线性样本的学习,能进行非线性函数的判别 18。分类也能进行预测,但分类一般用于离散数值;回归预测用于连续数值 ;神经网络方法预测既可以用于连续数值,也可以用于离散数值。5.时序模式(Time-Series Pattern)时序模式是指通过时间序列搜索出的重复发生概率较高的模式 19。与回归一样,它也是用己知的数据
23、预测未来的值,但这些数据的区别是变量所处时间的不同。在时序模式中,需要找出在某个最小时间内出现比率一直高于某一最小百分比(最小支持度阈值)的规则。这些规则会随着形势的变化作适当的调整。时序模式中,一个有重要影响的方法是“相似时序” 。用“相似时序”的方法,要按时间顺序查看时间事件数据库,从中找出另一个或多个相似的时序事件。6.偏差分析(Dev1at1on)数据库中的数据存在很多异常情况,发现数据库中数据存在的异常情况是非常重要的。偏差包括很多潜在的知识,如分类中的反常实例、不满足规则的特例、观测结果与模型预测值的偏差、量值随时间的变化等 20。偏差检测的基本方法是,寻找观测结果与参照值之间有意
24、义的差别。2.5 数据挖掘的对象数据挖掘的对象主要是关系数据库。随着数据挖掘技术的发展,逐步进入到空间数据库、时态数据库、文本数据库、多媒体数据库、环球网 WEB 等。文字、音频、图像、视频等多媒体数据已逐渐成为信息领域的重要表现形式。音频、视频的数据量很大,要从千万计的多媒体数据中找出需要的数据和信息是很困难的。目前,对多媒体数据的处理只能在存取、编辑、集成、快进快退等基本操作上,对多媒体信息的检索仅靠文件标识、关键字等进行检索,局限性很大 21。目前兴起的基于内容的多媒体检索,通过实例的查询方式,检索相似图像、音频、视频信息,己成为研究的热点。基于内容的音频、视频信息的聚类、分类、相似查询
25、等数据挖掘技术正在兴起。2.6 数据挖掘的方法和技术数据挖掘方法是由人工智能、机器学习的方法发展而来,结合传统的统计分析方法、模糊数学方法及可视化技术,以数据库为研究对象,形成了数据挖掘的方法和技江苏科技大学工学硕士学位论文14术。数据挖掘的方法和技术可分为以下六大类:2.6.1 归纳学习法归纳学习法是目前重点研究的方向。从采用的技术上看,分为信息论方法和集合论方法。1. 信息论方法(决策树方法)信息论方法是利用信息论的原理建立决策树。在知识工程领域,决策树是一种简单的知识表示方法,它将事例逐步分类成代表不同的类别。由于分类规则是比较直观的,因而比较易于理解。该类方法的实用效果好,影响较大。由
26、于该方法最后获得的知识表示形式是决策树,故一般称它为决策树方法。这种方法一般用于分类任务中。信息论方法中较有特色的方法有:ID3、BILE 方法 22。2. 集合论方法集合论方法是开展较早的方法。近年来,由于粗集理论的发展使集合论方法得到了迅速的发展。这类方法中包括:覆盖正例排斥反例方法(典型的方法有 AQ 系列方法) 、概念树方法和粗糙集方法 23。2.6.2 聚类方法聚类分析是直接比较样本中各样本之间的距离,将距离较近的归为一类,而将距离较远的分在不同类中。它把一个给定的数据对象集合分成不同的簇,是一种无监督分类法。其中较有特色的方法有:K-mean(sk 平均值) 、calar 算法、B
27、IRCH 算法、Chameleon(变色龙)算法、 CLIQUE 算法等。2.6.3 统计分析方法这是利用统计学原理对数据库中的数据进行分析的方法,统计分析既是一门独立的学科,也作为数据挖掘的一大类方法。统计分析方法包括有:常用统计(如求大量数据中的最大值、最小值、总和、平均值等 24) 、相关分析(求相关系数来度量变量间的相关程度) 、回归分析(求回归方程来表示变量间的数量关系) 、差异分析(从样本统计量的值得出差异,来确定总体参数之间是否存在差异) 、判别分析(建立一个或多个判别函数,并确定一个判别标准。对未知对象利用判别函数将它划归某一个类第二章 数据挖掘技术15别 25) 、Bayes
28、 网络(利用联合概率和 Bayes 公式所描述的各网络变量间的因果关系来进行数据分析) 。2.6.4 仿生物技术仿生物技术典型的方法是神经网络方法和遗传算法。这两类方法己经形成了独立的研究体系,它们在数据挖掘中也发挥了巨大的作用。1. 神经网络方法它是模拟了人脑神经元结构,以 MP 模型和 Hebb 学习规则为基础的,建立了三大类多种神经网络模型(前馈式网络、反馈式网络、自组织网络) 26。神经网络的知识体现在网络连结的权值上,是一个分布式矩阵结构。神经网络的学习体现在神经网络权值的逐步计算上(包括反复迭代或者是累加计算) 。当需要从复杂或不精确数据中获得概念比较困难的时候,利用神经网络技术特
29、别有效。经过训练后的神经网络就像是具有某种专门知识的“专家” ,因此可以像人一样从经验中学习。2. 遗传算法这是模拟生物进化过程的算法。它由繁殖(选择) 、交叉(重组) 、变异(突变)三个基本算子组成 27。这种遗传算法起到产生优良后代的作用。这些后代需要满足适应值,经过若干代的遗传,将得到满足要求的后代(问题的解) 。遗传算法已在优化计算和分类机器学习方面发挥了显著的效果。2.6.5 可视化技术可视化数据分析技术拓宽了传统的图表功能,使用户对数据的剖析更清楚。例如把数据库中多维的数据变成多种图形,这对于揭示数据中的状况,内在本质以及规律性起到很强的作用。可视化数据挖掘的目的是使用户能够交互地
30、浏览数据及挖掘过程,提高数据挖掘效果。可视化技术在数据挖掘的各个阶段都扮演着重要角色。如在数据准备阶段,使用散点图、直方图等统计可视化技术显示源数据,可以对数据有个初步的了解,为更好的选取数据打下基础。在挖掘阶段,用可视化形式描述各种挖掘过程,从中用户可以看出数据从哪个数据仓库或数据库中抽取出来,怎样抽取以及怎样预处理,怎样挖掘等。在表示结果阶段,用可视化技术使发现的知识更易于理解。江苏科技大学工学硕士学位论文162.6.6 模糊数学方法由于模糊性是客观的存在,而且系统的复杂性愈高,其精确化能力便愈低,这就意味着模糊性愈强。这是 Zadeh 总结出的互克性原理 27。利用模糊集合理论可对实际问
31、题进行模糊评判、模糊决策、模糊模式识别、模糊关联规则和模糊聚类分析。2.6.7 其它的方法还有许多其它的方法如逻辑回归方法、关联规则方法、最近邻方法、文本采掘、WEB 采掘、序列分析、SVM 、HYBIRD 等,也常被一些特定领域广泛采用。2.7 数据挖掘工具在数据挖掘技术日益发展的同时,许多数据挖掘的软件工具也逐渐问世。一些著名的公司或研究机构纷纷推出自己的数据采掘商业产品。数据挖掘工具主要有两类:特定领域的数据挖掘工具和通用的数据挖掘工具。特定领域的数据挖掘工具针对某个特定领域的问题提供解决方案。在设计算法的时候,充分考虑到数据、需求的特殊性,并作了优化。对任何领域,都可以开发特定的数据挖
32、掘工具。例如,IBM 公司的 Advanced Scout 系统针对 NBA 的数据,帮助教练优化战术组合;加州理工学院喷气推进实验室与天文科学家合作开发的 SKICAT系统,帮助天文学家发现遥远的类星体;芬兰赫尔辛基大学计算机科学系开发的TAAS,帮助预测网络通信中的警报 28。特定领域的数据挖掘工具针对性比较强,只能用于一种应用,也正因为针对性强,往往采用特殊的算法,可以处理特殊的数据,实现特殊的目的,发现的知识可靠度也比较高。通用的数据挖掘工具不区分具体数据的含义,采用通用的挖掘算法,处理常见的数据类型。例如,IBM 公司 Almaden 研究中心开发的 QUEST 系统,SGI 公司开
33、发的Mineset 系统,加拿大 Simon Fraser 大学开发的 DBMiner 系统。通用的数据挖掘工具可以做多种模式的挖掘,挖掘什么、用什么来挖掘都由用户根据自己的应用来选择。2.8 本章小结本章主要介绍了数据挖掘的过程、分类、任务、对象和方法,为之后章节中的数第二章 数据挖掘技术17据挖掘的实际应用奠定了坚实的理论基础。在第四章中将要介绍关于数据挖掘技术在高校科学研究应用中的探索,在研究中,我们选择分类技术进行探讨。江苏科技大学工学硕士学位论文18第三章 数据挖掘中的分类技术数据分类(Data Classification)在数据挖掘中是一项非常重要的任务,目前在商业上应用最多,在
34、其他领域的应用也逐渐展开。本章首先介绍分类的目的、分类的过程、分类的评估标准等分类技术的基本知识,接着介绍了决策树、贝叶斯分类及神经网络分类等几种常用的分类方法及各种分类方法的比较。3.1 分类的基本概念数据分类(Data Classification)在数据挖掘中是一项非常重要的任务,目前在商业上应用最多,在其他领域的应用也逐渐展开。本章首先介绍分类的目的、分类的过程、分类的评估标准等分类技术的基本知识,接着介绍了决策树、贝叶斯分类及神经网络分类等几种常用的分类方法及各种分类方法的比较。3.1.1 分类的目的分类是数据挖掘中的一个重要课题。分类就是根据数据集的特点找出类别的概念描述,这个概念
35、描述代表了这类数据的整体信息,也就是该类的内涵描述。分类的目的是:分析输入数据,通过在训练集中的数据所表现出来的特性,为每一个类找到一种准确的描述或者模型。这种描述常常用谓词表示。并使用这种类的描述对未来的测试数据进行分类。尽管这些未来的测试数据的类标签是未知的,我们仍可以由此预测这些新数据所属的类。分类可描述为:给定一训练数据的集合 T(简称为训练集或训练数据库) ,T 中的元素记录由若干个属性描述。在所有属性中有且仅有一个属性作为类别属性。属性集合用矢量 X=(X 1, X2,Xn)表示,其中 Xi(1i n)对应各非类别属性,可以具有不同的值域,即对于任一属性 Xi=x1i, x2i,
36、x3i, xmi,,mi 随属性的不同而变化。当一属性的值域为连续值域时,该属性称为连续属性(Numerical Attribute) ,否则称为离散属性(Discrete Attribute) ;用 C 表示类别属性,C=c 1, c2, c3, ck,即数据集有 K 个不同的类别。那么,T 就隐含地确定了一个从矢量 X 到类别属性 C 的映射函数 H:f(x)C,分类的目的就是采用某种方法(模型)将该隐含函数 H 表示出来29。分类器的构造方法有统计方法、机器学习方法、神经网络方法等。统计方法包括贝叶斯法和非参数法(近邻学习或基于事例的学习) ,对应的知识表示则为判别函数第三章 数据挖掘中
37、的分类技术19和原型事例。机器学习方法包括决策树法和规则归纳法,前者对应的表示为决策树,后者则一般为产生式规则。神经网络方法主要是 BP 算法,它的模型表示是前向反馈神经网络模型(由代表神经元的节点和代表连接权值的边组成的一种体系结构) ,BP算法本质上是一种非线性判别函数。另外,还有兴起的粗糙集(Rough Set)方法,其知识表示是产生式规则。3.1.2 分类的过程分类的过程一般分为两个步骤:第一步,通过己知数据集建立概念描述模型,该模型是通过对数据库中各数据行内容的分析而获得的。第二步,就是利用所获得的模型进行分类操作,首先对模型分类的准确率进行估计,如果一个模型的准确率经测试被认为是可
38、以接受的,那么就可以使用这一模型对未知类型的数据行或对象进行分类。以信用卡系统的信用分级分类为例,图 3-1 及图 3-2 分别描述了分类的两个步骤的运行机制。第一步,利用训练数据集进行学习,训练集(Training Data Set)被分类算法(Classification Algorithm)分析生成分类规则(Classification Rules ) 。第二步,用测试数据(Testing Data Set)进行模型评估,如果准确率可以接受,则分类规则将用来对新数据进行分类。图 3- 1 利用训练集进行学习Figure 3-1 Learning with Training Data Se
39、t图 3- 2 用测试数据测试模型Figure 3-2 Evaluating With Testing Data Set江苏科技大学工学硕士学位论文203.2 基于决策树的分类决策树提供了一种类似在什么条件下会得到什么值这类规则的方法。图 3-3 是为了解决某一问题而建立的一棵决策树,从中我们可以看到所谓决策树就是一个类似流程图的树型结构,决策树由决策节点、分支和叶子几个部分组成。其中树的每个节点对应一个非类别属性,每条分支对应这个属性的每种可能值,而树的每个叶节点就代表一个类别。一般决策树的中间节点常用矩形表示,而叶子节点常用椭圆表示。决策树可以很容易转换为分类规则,从根到每个叶节点的一条路
40、径就对应着一条分类规则。目前已形成了多种决策树算法,如 CLS、ID3、CHAID、CART、FACT、C4.5、GINI, SEES、SLIQ 、SPRINT 等。其中最著名的算法是 Quinlan 提出的 ID3 算法。3.2.1 决策树的生成图 3-4 简单描述了决策树生成的过程,由图中可见,决策树的生成分为学习及测试两个阶段。决策树学习阶段采用自顶向下的递归方式。决策树算法分成两个步骤:一是树的生成,开始时所有数据都在根节点,然后递归地进行数据划分,直至生成叶节点。二是树的修剪,就是去掉一些可能是噪音或者异常的数据。决策树停止分割的条件有:一个节点上的数据都是属于同一个类别;没有属性可
41、以再用于对数据进行分割 30。图 3- 3 决策树示意图Figure 3-3 A Decision Tree第三章 数据挖掘中的分类技术21建立决策树的过程,即树的生长过程是不断的把数据进行划分的过程,每次划分对应一个节点,也对应着一个划分属性。对每个划分属性的选择都要求分成的组之间的“差异”最大。各种决策树算法之间的主要区别就是对这个“差异”衡量方式的区别,也就是属性选择方法上的区别。建立一颗决策树可能只要对数据库进行几遍扫描之后就能完成,这也意味着需要的计算资源较少,而且可以很容易的处理包含很多预测变量的情况,因此决策树模型可以建立得很快,并适合应用到大量的数据上。对最终的决策树来说,在建
42、立过程中让其生长得太“枝繁叶茂”是没有必要的,这样既降低了树的可理解性和可用性,同时也使决策树本身对历史数据的依赖性增大,也就是说这棵决策树对此历史数据可能非常准确,一旦应用到新的数据时准确性却急剧下降,我们称这种情况为训练过度 31。为了使得到的决策树所蕴含的规则具有普遍意义,必须防止训练过度。因此需要有一种方法能让我们在适当的时候停止树的生长。可用的方法有事前修剪法和事后修剪法。常用的事前修剪法是设定决策树的最大高度(层数)来限制树的生长。还有一种方法是设定每个节点必须包含的最少记录数,当节点中记录的个数小于这个数值时就停止分割 32。与设置停止增长条件相对应的是在树建立好之后对其进行修剪
43、即事后修剪。此方法先允许树尽量生长,然后再把树修剪到较小的尺寸,当然在修剪的同时要求尽量保持决策树的准确度不要下降太多。3.2.2 常用决策树算法简介1. ID3 算法决策树算法中最著名的算法是 Quinlan 提出的 ID3 算法。ID3 算法的关键在于如何选择一个决策属性形成决策树的决策节点,并从当前节点生成决策分枝,我们在进图 3- 4 决策树生成过程Figure 3-4 The Process of Generating Decision Tree江苏科技大学工学硕士学位论文22行属性选择过程中,通常希望所选取的属性能够在最大程度上反映训练样本数据集的分类特征。在 ID3 算法中,决策
44、节点属性的选择主要是运用了信息论中熵的概念来完成的。在这种属性选择方法中,选择具有最大信息增益(或最大熵减方向)的决策属性作为当前节点。通过这种方式选择的节点属性可以保证决策树具有最小的分枝数量,使得到的决策树冗余最小。ID3 算法中,决策属性信息增益的计算方法如下:设 S 是训练样本数据集,S 中类别标识属性有 m 个独立的取值,也就是说定义了m 个类 , , 为数据集 S 中属于 类的子集,用 表示子集 中元组的ic1,2m iRiciriR数量。集合 S 在分类中的掰望信息量可以由以下公式给出(3.1)1221(,)log()miiIrp式中 是表示任意样本属于 类的概率, 。 为训练样
45、本数据集中的ipic/irS元组数量。假设属性 A 共有 个不同的取值 ,则通过属性 A 的取值可将数据集v12,vaS 划分为 个子集,其中, 表示在数据集中 S 中属性 A 的取值为 的子集,vjS ja。1,2j如果 A 被选作为决策属性,则这些子集将对应该节点的不同分枝。如果用 表示 子集中属于 类的元组的数量,则属性 A 对于分类ijsj ic的熵(也称为属性 A 对于分类 的期望信息量)可由下(,)icm (1,2)icm式计算(3.2)11()(,)vjjjjjsEIsS 令 ,则 为 子集的权重,表示 子集在数据集 S 中的比重,1jmjjsS jj j而属性 A 的每个取值对分类 的期望信息量 ,可由下式给出ic1(,)jmjIs(3.3)121(,)log(jjijijIp式中, ,它表示在 子集中属于 类的比重。/ijijpsSjSic通过上述计算准备,可得到对属性 A 作为决策分类属性的度量值(称为信息增益) ,由下式给出