决策树算法研究.docx

上传人:b****6 文档编号:7447995 上传时间:2023-01-24 格式:DOCX 页数:12 大小:86.76KB
下载 相关 举报
决策树算法研究.docx_第1页
第1页 / 共12页
决策树算法研究.docx_第2页
第2页 / 共12页
决策树算法研究.docx_第3页
第3页 / 共12页
决策树算法研究.docx_第4页
第4页 / 共12页
决策树算法研究.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

决策树算法研究.docx

《决策树算法研究.docx》由会员分享,可在线阅读,更多相关《决策树算法研究.docx(12页珍藏版)》请在冰豆网上搜索。

决策树算法研究.docx

决策树算法研究

摘要

随着信息科技的高速发展,人们对于积累的海量数据量的处理工作也日益增重,需求是发明之母,数据挖掘技术就是为了顺应这种需求而发展起来的一种数据处理技术。

数据挖掘技术又称数据库中的知识发现,是从一个大规模的数据库的数据中有效地、隐含的、以前未知的、有潜在使用价值的信息的过程。

决策树算法是数据挖掘中重要的分类方法,基于决策树的各种算法在执行速度、可扩展性、输出结果的可理解性、分类预测的准确性等方面各有千秋,在各个领域广泛应用且已经有了许多成熟的系统,如语音识别、模式识别和专家系统等。

本文着重研究和比较了几种典型的决策树算法,并对决策树算法的应用进行举例。

关键词:

数据挖掘;决策树;比较

 

Abstract

With the rapid development of Information Technology, people are facing much more work load in dealing with the accumulated mass data.

Data mining technology is also called the knowledge discovery in database, data from a large database of effectively, implicit, previously unknown and potentially use value of information process.Algorithmofdecisiontreeindataminingisanimportantmethodofclassificationbasedondecisiontreealgorithms,inexecutionspeed,scalability,outputresultcomprehensibility,classificationaccuracy,eachhasitsownmerits.,extensiveapplicationinvariousfieldsandhavemanymaturesystem,suchasspeechrecognition,patternrecognitionandexpertsystemandsoon.Thispaperstudiesandcomparesseveralkindsoftypicaldecisiontreealgorithm,andthealgorithmofdecisiontreeapplicationexamples.

Keywords:

Datamining;decisiontree;Compare

 

 

第一章绪论

无论在企业应用领域,还是在科学领域,数据挖掘技术有着广泛的应用价值。

     

在企业应用领域,用于制定好的市场策略以及企业的关键性决策。

在商业面, 数据挖掘技术可以增强企业的竞争优势,缩短销售周期,降低生产成本,有助制定市场计划和销售策略,并已经成为电子商务中的关键技术。

 

近年来,随着我国高等教育的飞速发展,高校的教学管理信息不断增多。

教学工作信息化有了很大的进步,好多高校在管理学生和教师信息方面有了很好的方式。

比如我校的教务系统,这些系统为老师和学生提供了很好的帮助。

这些系统中积累了大量的数据。

目前的这些数据库系统虽然基本上都可以实现数据的录入、修改、统计、查询等功能,但是这些数据所隐藏的价值并没有被充分的挖掘和利用,信息资源的浪费还是比较严重的。

为了提高教学质量,将数据挖掘技术引入到高校学生成绩分析中,对这些数据进行深入的挖掘和合理的分析,从而挖掘出传统的分析方法所无法得出的结论。

进而利用分析结果引导教学的开展,从而有利于提高教学质量。

第二章文献综述

数据挖掘作为一个新兴的多学科交叉应用领域,正在各行各业的决策支持活动扮演着越来越重要的角色。

2.1数据挖掘简述

数据挖掘(英语:

Datamining),又译为资料探勘、数据采矿。

它是数据库知识发现(英语:

Knowledge-DiscoveryinDatabases,简称:

KDD)中的一个步骤。

数据挖掘一般是指从大量的数据中自动搜索隐藏于其中的有着特殊关系性(属于Associationrulelearning)的信息的过程。

数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。

数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示3个步骤。

数据准备是从相关的数据源中选取所需的数据并整合成用于数据挖掘的数据集;规律寻找是用某种方法将数据集所含的规律找出来;规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来。

决策树是判定给定样本与某种属性相关联的决策过程的一种表示方法,从数据中生成分类器的一个特别有效的方法是生成一棵决策树,该方法广泛应用与数据挖掘和机器学习等领域,用来解释用分类相关的问题,决策树表示法是应用最广泛的逻辑方法之一。

目前生成决策树方法的算法主要有三种:

CART算法、ID3算法和C4.5算法。

其中C4.5算法具有分类速度快且精度高的特点,是发展比较完善的一种决策树算法。

2.2决策树算法背景知识及研究现状

2.2.1决策树算法描述

决策树,顾名思义就是一个类似于流程图的树型结构。

—个决策树由根结点、分支和叶结点构成。

树的最高层节点称为根结点,是整个决策树的开始。

与根结点相连的不同分支,对应这个属性的不同取值,根据不同的回答转向相应的分支,在新到达的结点处做同样的分支判断,持续这一过程直到到达某个叶结点。

在决策树中,每个内部结点表示一个测试,该结点的每个分支表示该测试的一个结果,每个叶结点表示一个类别。

例如公司需要预测某位客人是否要买计算机,图2.1就是为了解决这个问题而建立的一颗决策树,从中可以看到决策树的基本组成部分:

根结点、分支和叶结点。

图2.1决策树

2.2.2关联分析决策树算法研究现状

决策树算法广泛应用于各个领域,已经有了广泛的应用并且有许多成熟的系统,如语音识别、医疗诊断、模式识别和专家系统等。

目前,决策树技术面临的挑战表现在以下几个方面:

(1)可扩展性亟待提高。

在大型数据集中,能从中快速而准确地发现隐藏于其中的主要分类规则,即认为算法具有良好的可扩展性。

数据挖掘面临的数据往往是海量的,对实时性要求较高的决策场所,数据挖掘方法的主动性和快速性显得日益重要。

(2)适应多数据类型和容噪性。

随着计算机网络和信息的社会化,数据挖掘的对象已不单是关系数据库模型,而是分布、异构的多类型数据库,数据的非结构化程度、噪声等现象越来越突出,这也是决策树技术面临的困难问题。

(3)决策树方法的递增性。

数据挖掘出来的知识,只是相对于某一时间的某些数据,新的数据可能使发现的新知识与原来的知识冲突。

因此,设计具有递增性决策树挖掘方法,也是实用化的基本要求之一。

第三章决策树算法

3.1CLS算法

CLS算法是早期的决策树学习算法,是许多决策树学习算法的基础。

CLS基本思想:

从一棵空决策树开始,选择某一属性作为测试属性。

该测试属性对应决策树中的决策结点。

根据该属性的值的不同,可将训练样本分成相应的子集,如果该子集为空,或该子集中的样本属于同一个类,则该子集为叶结点,否则该子集对应于决策树的内部结点,即测试结点,需要选择一个新的分类属性对该子集进行划分,直到所有的子集都为空或者属于同一类。

例1:

如表3.1所示为人员眼睛、头发颜色与所属人种之间的关系:

人员

眼睛颜色

头发颜色

所属人种

1

黑色

黑色

黄种人

2

蓝色

金色

白种人

3

灰色

金色

白种人

4

蓝色

红色

白种人

5

灰色

红色

白种人

6

黑色

金色

混血

7

灰色

黑色

混血

8

蓝色

黑色

混血

根据表3.1所提供的信息,选择“眼睛颜色”为测试属性,可将该样本划分为相应的子集如图3.1所示。

根据“眼睛颜色”所划分的子集中的样本不属于同一类,所以选择新的测试属性“头发颜色”对各个子集进行划分,如图3.2所示,所得的样本属于同一类,决策树构建完成。

图3.2决策树

3.2ID3算法

ID3算法是决策树学习算法中最具有影响和最为典型的算法,它的基本思想是,利用信息熵原理,选择信息增益最大的属性作为分类属性。

3.2.1信息量大小的度量

Shannon1948年提出的信息论理论。

事件ai的信息量I(ai)可如下度量:

其中p(ai)表示事件ai发生的概率。

假设有n个互不相容的事件a1,a2,a3,……,an,它们中有且仅有一个发生,则其平均的信息量可如下度量:

=

在决策树分类中,假设S是训练样本集合,|S|是训练样本数,样本划分为n个不同的类C1,C2,……Cn,这些类的大小分别标记为|C1|,|C2|,……,|Cn|。

则任意样本S属于类Ci的概率为:

假设属性A的所有不同值的集合为XA,Sv是S中属性A的值为v的样本子集,在选择属性A后的每一个分支节点上,对该节点的样本集Sv分类的熵为E(Sv)。

选择A导致的期望熵定义为每个子集Sv的熵的加权和,权值为属于Sv的样本占原始样本S的比例

即期望熵为:

属性A相对样本集合S的信息增益Gain(S,A)定义为:

其中Gain(S,A)是指因知道属性A的值后导致的熵的期望压缩。

Gain(S,A)越大,说明选择测试属性A对分类提供的信息越多。

ID3算法就是将每个节点选择信息增益Gain(S,A)最大的属性作为测试属性。

3.2.2ID3决策树应用举例

例2:

公司收集了数据如下表3.2所示,对于任意给定的客人,能否帮助公司将这位客人归类。

表3.2谁在买计算机

计数

年龄

收入

学生

信誉

归类:

买计算机?

64

不买

64

不买

128

60

64

64

不买

64

128

不买

64

132

64

32

32

63

不买

1

(1)计算决策属性的熵

决策属性“买计算机?

”,该属性分为两类:

买、不买。

S1(买)=641S2(不买)=383S=S1+S2=1024

P1=641/1024=0.6260P2=383/1024=0.3740

I(S1,S2)=I(641,383)=-P1log2P1-P2log2P2=0.9537

(2)计算条件属性的熵

条件属性共有4个,分别是年龄、收入、学生、信誉。

分别计算不同属性的信息增益。

计算年龄的熵:

年龄共分三个组:

青年、中年、老年

青年买与不买比例为128/256

P1=128/384P2=256/384

I(S1,S2)=I(128,256)=-P1log2P1-P2log2P2=0.9183

中年买与不买的比例为256/0

P1=256/256P2=0/256

I(S1,S2)=I(256,0)=-P1log2P1-P2log2P2=0

老年买与不买的比例为257/127

P1=257/384P2=127/384

I(S1,S2)=I(257,127)=-P1log2P1-P2log2P2=0.9157

所占比例:

青年组:

384/1024=0.375;中年组:

256/1024=0.25;老年组:

384/1024=0.375

计算年龄的平均信息期望:

E(年龄)=0.375*0.9183+0.25*0+0.375*0.9157=0.6877

G(年龄)=0.9537-0.6877=0.266

计算收入的熵:

收入共分三个组:

高、中、低

E(收入)=0.9361

G(收入)=0.9537-0.9361=0.0176

计算学生的熵:

学生共分为两个组:

学生、非学生

E(学生)=0.7811

G(学生)=0.9537-0.7811=0.1726

计算信誉的熵:

信誉分两个组:

良好,优秀

E(信誉)=0.9048

G(信誉)=0.9537-0.9048=0.0453

(3)计算选择结点:

通过以上计算可知,年龄信息增益值最大,因此选择年龄属性进行分支,观察表3.2,当年龄为“中”时,对应的归类都为买,因此该处形成叶结点;而年龄取“青”、“老”时,对应的归类不唯一,因此构造树结构如图3.3:

在年龄属性为青年时,分别计算收入信息增益、学生信息增益、信誉信息增益可知,在属性学生处信息增益值最大,因此取学生为分支属性;同理,当年龄属性为老年时,同样的计算可得分支属性为信誉。

预测消费者是否会购买电脑的决策树分类构建完成,如图3.4所示:

年龄

学生

信誉

不买

不买

图3.4谁在买计算机

3.3C4.5算法

C4.5算法是ID3算法的改进,它继承了ID3算法的优点并对ID3算法进行了改进和补充。

C4.5算法采用信息增益率作为选择分支属性的标准,克服了ID3算法中信息增益选择属性时偏向选择取值多的属性的不足,并能够完成对连续属性离散化的处理,还能够对不完整数据进行处理。

3.3.1用信息增益率选择属性

信息增益率等于信息增益与分裂信息的比值,定义如下:

上式中SplitInfo(A)表示属性A的分裂信息,分裂信息用来衡量属性分裂数据的广度和均匀,其定义如下:

根据例2中提供的信息,可计算:

SplitInfo([384,256,384])=-(0.375*log20.375+0.25*log20.25+0.375*log20.375)=2.999

GainRatio(年龄)=gain(年龄)/split([384,256,384])=0.266/2.999=0.089

其他的三个属性可以类似地得出它们的信息增益率,如下表3.3所示:

表3.3属性对应的信息增益率

年龄

收入

Gain

0.266

Gain

0.018

SplitInfo

2.999

SplitInfo

1.528

GainRatio

0.089

GainRatio

0.012

学生

信誉

Gain

0.173

Gain

0.045

Splitinfo

0.998

SplitInfo

0.929

GainRatio

0.173

GainRatio

0.048

利用C4.5算法构建决策树中选取各属性中信息增益率最大的属性作为分裂点,以后的做法与ID3的相同,唯一的不同之处是判断标准由信息增益变成了信息增益率。

3.3.2处理连续属性值

C4.5既可以处理离散型描述属性,也可以处理连续性描述属性。

在选择某结点上的分枝属性时,对于离散型描述属性,C4.5的处理方法与ID3相同,按照该属性本身的取值个数进行计算;对于某个连续性描述属性,C4.5将作以下处理:

(1)对属性的取值由小到大进行排序。

(2)两个属性取值之间的中点作为可能的分裂点,将该结点上的数据集分成两部分,计算每个可能的分裂点的信息增益。

(3)计算每一种分割所对应的信息增益率,选择最大的分割点来划分数据集。

3.3树剪枝

剪枝方法的主要目的是去掉那些噪声或异常数据,使决策树具有更泛化能力。

剪枝常采用统计度量,剪掉最不可靠的分枝,从而带来较快的分类,提高树独立于测试数据进行正确分类的能力。

剪枝按其实施的时间分为两种方法:

事前修剪法和事后修剪法。

C4.5算法采用一种后剪枝方法。

事后剪枝是由完全生长的树剪去分枝。

通过删除结点的分枝,剪掉树结点。

它在允许决策树得到最充分生长的基础上,再根据一定的规则,剪去决策树中的那些不具有一般代表性的叶结点或分枝。

修剪后,被修剪的分枝结点就成为一个叶结点,并将其标记为它所包含样本中类别个数最多的类别。

3.4决策树算法比较分析

基于决策树算法自提出至今种类不下几十种。

各种算法在执行速度、可扩展性、输出结果的可理解性,分类预测的准确性等方面各有千秋。

最早提出的CLS算法只是给出了生成决策树系统的框架,却没有具体说明算法的内容;ID3算法采用信息熵的增益进行属性选择,但只能处理具有离散型属性和属性值齐全的元组,生成形如多叉树的决策树。

后来出现的C4.5算法经过改进,能够直接处理连续属性,也能够处理属性值空缺的训练元组,它采用信息增益率进行属性选择。

由于ID3算法与C4.5算法生成决策树分支多,规模过于庞大,出现了根据GINI系数来选择测试属性的决策树算法,比如CART。

对这几种算法进行一个概要性的比较如表3.4所示。

表3.4典型决策树算法比较

属性选择度量

处理连续属性

剪枝方法

是否需要独立测试样本集

决策树结构

ID3

信息增益

离散化

分类错误

多叉树

C4.5

信息增益率

预排序

分类错误

多叉树

CART

GINI系数

预排序

MDL

二叉树

第五章结论

本文重点讲了了ID3算法与C4.5算法及其应用举例,比较了几种典型决策树算法的优缺点。

对于相当大的范围内的应用来说,决策树分类比其他分类技术能生成更精确的分类结果,但是对决策树分类性能的度量和评价会困难些。

即使在树分类器的每一等级上的分类效果是最优的,也不能保证最终的结果是最优的,虽然决策树算法使用最好的特征进行分类,但还是可能存在一些特征对分类很有用,却没有用到。

如果能把这些特征选择出来,选择在每个子集上能够有效分类的特征,就能有效地减少树的层数,对于分类结果会有很大的提高。

参考文献

[1]黄建军.田长春;《把“数据挖掘”作用发挥出来》[N];中国国防报;2009

[2]王浩;《数据挖掘技术及应用》[J];华东理工大学;2012

[3]张建同.邱玥;《数据挖掘技术及其在电子商务中的应用》[A];新世界;2010

[4]薛红强;《浅析数据挖掘在学生体质健康测试中的应用》[J];西安航空学院学报;2014

[5]徐述;《基于大数据的数据挖掘研究》[J];科技视界;2014

[6]杜丽英;《基于数据挖掘的决策树算法》[J];吉林建筑工程学院学报;2014

[7]孙柏林;高珏;陈开;《基于校园一卡通的学生体育锻炼数据挖掘的研究》[J];中国国防报;2010

[8]郭秀娟;《数据挖掘方法综述》[J];吉林建筑工程学院学报;2004

[9]张成叔;《决策树分类算法在选课系统中应用研究》[J];新余学院;2014

[10]王全旺,赵兵川;《数据挖掘技术在Moodle课程管理系统中的应用研究》[J];电化教育研究;2011

[11]栾丽华,吉根林;《决策树分类技术研究》[J];计算机工程;2004

[12]张儒良,王翰虎;《论数据挖掘优化教学管理》[J];贵州民族学院学报(哲学社会科学版);2004

[13]唐吉深;《图书馆数据挖掘技术研究现状述评》[J];图书馆界;2011

[14]李明江,唐颖,周力军;《数据挖掘技术及应用》[J];中国新信;2012

[15]郑宏;《数据挖掘可视化技术的研究与实现》[D];西安电子科技大学;2010

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1