当前位置:文档之家› 决策树算法的研究及实例分析

决策树算法的研究及实例分析

第11卷第3期 2013年9月 南京工程学院学报(自然科学版) Journal of Naming Institute of Technology(Natural Science Edition) Vo1.11,No.3 Sep.,2013 

文章编号:1672—2558(2013)03—0058—04 

决策树算法的研究及实例分析 

周桂如 

(福建船政交通职业学院公共教学部,福建福州350007) 

摘要:分类与预测是数据挖掘技术中的一个重要研究领域.而决策树算法又是分类与预测的核心技术算法之一.描 述ID3的主要算法,介绍信息增益、系统总熵和信息熵的概念及其计算公式;然后对ID3算法进行了深入地研究与分 析;最后把决策树中的ID3算法运用在学生综合测评中.ID3算法最大的缺点是运算复杂,而且要花费较多的时间. 关键词:决策树算法;ID3算法;综合评价;分类与预测 中图分类号:TPI81 

Research into Decision Tree Algorithm and Case Studies 

ZH0U Gui—ru 

(Dept.of Public Courses Teaching,Fujian Chuanzheng Communications College,Fuzhou 350007,China) 

Abstract:Decision tree algorithm is viewed as one of the core technical algorithms of classification and prediction which is considered a key area in data mining technology.This paper describes the major algorithm of ID3 and introduces such concepts as information gain,total system entropy,and informational entropy,as well as the computational formula.And in—depth research is conducted into ID3 algorithm.Finally,this algorithm of decision tree is used to comprehensively evaluate students’performance.ID3 algorithm,however,has its disadvantages,for exmple,complex calculation and time— consuming. Key words:decision tree algorithm;ID3 algorithm;comprehensive evaluation;classification and prediction 

分类对象 :在程序中输入的数据或称训练集(training set)样本,是由每个包含若干个属性 

(attribute)的数据库所记录(record)组成的一个特征向趋 训练集中的每条记录还必须由系统的输入一个 

特定的类标签(class labe1)与之相对应的.如一个样本向量( ,, ,…, ;C)的形式中, 表示其中属性值, 

C表示它的类别. 

分类的评价方法: 

1)对准确度进行预测,常用于预测型分类任务的一种比较尺度. 

2)对复杂度的计算,主要是一些实现细节和所依赖的硬件环境. 

3)对模型简洁度的描述,特别是对于描述型的分类任务,它的模型描述越简洁就越容易理解. 

对于一些分类的操作通常主要有两个步骤 J:第一步,可以根据给定的训练集数据,找到较合适于这 

种训练集的函数映射的模型形式.这个步骤一般被称作为模型训练阶段.第二步,使用函数映射模型是为 

了能够预测数据到底是属于那一种类型;或利用该函数模型描述数据所集中的那类别数据,从而形成这种 

分类规则. 

收稿日期:2013—08—08;修回日期:2013—08—30 作者简介:周桂如,硕十,讲师,研究方向为数学与应用数学 E-mail:841599039@qq.conl

 第11卷第3期 周桂如:决策树算法的研究及实例分析 59 

1 ID3算法描述 

ID3Tree 3 (T,tattributelist)(其中 为样本空间,tattributelist为属性集)是一个递归过程,所以仅仅需 

要讨论对某个特定结点N的分裂方法. 

分割前设指向特定结点Ⅳ的训练集为S,其中训练集的样本个数为s,包含所有不同的类别,他们区分 

了不同的类C (for i=1,…,m),设s 是S中属于类C 的记录的个数.那么分裂之前,系统的总熵为 

l(s1,s2,…,s )=一∑(i=1 to m)pilog2p (1) 

其中P 是任意样本属于类c 的概率,从公式容易看出,总熵是属于各个类的记录信息量的加权平均. 

从属性集中选取某一属性A,它是带有 个不同值的属性{0 ,口:,…,o },A可以把s划分成 个子集 

{s ,Ls ,…,Js },其中s ={ IX∈S&X・A:aj}.如果A被选为测试属性,那么那些子集表示从集合Js出 发的所有树枝.设s,为子集.sf中的记录个数,s 就表示为在子集Jsf中属于类为C 的记录个数.这时按A 

的每个属性值(更一般的是取 的一个子集)进行分割后的信息量,也就是系统总熵 为 

E(A)=∑( :1 to )[s1 +s +…+s )/s] ( u,s ,…,s哪) (2) 

式中:总熵E(A)是各个子集信息量的加权平均;(s s ,+…+s耐)/s表示第 个子集的权重;,(s s 一,s面) 

为子集Js 的信息量(子集的总熵), 

1(s ,s ,…,s阿)=一∑(i=1 to m)p log2P (3) 

其中P =s /4是sf中的样本属于类C 的概率. 

信息增益(Information Gain) 是表示系统由于分类所获得的信息量,由系统熵的减少值定量描述.对 

结点J7v用属性A分类后的信息增益 为 

Gain(A)=,(s。,5:,…,s )一E(A) (4) 算法依次计算出属性集中其他属性的信息增益,具有最高信息增益值的属性将选作特定结点Ⅳ的分 

裂属性即根节点. 

2 11)3算法的复杂度 

1)由于在ID3算法中决策树的生成过程都是采用层层递归的方法,因此每次以最大信息增益属性分 

区时都将产生与此属性取值个数相同数目的子表.而每个子表都会占用一定的存储空间,这种存储空间占 

用以指数速度上升,会消耗大量的内存,并且还有大量的数据传送过程中的时间消耗.另外,当数据传送过 

程中数据量极大时,决策树算法会由于无法一次性将所有的数据调入内存而不能进行工作,所有的这些因 

素都增加了决策树生成中的空间复杂度. 

2)当在计算每个属性的信息增益时,需要统计这个属性中每种取值的个数和该种取值相对于分类属 

性的个数.一般采用的方法是循环计数的过滤来实现.在上述方法中,一次只能进行一个属性取值的统计, 

但往往需要若干次循环嵌套才能完成所需属性信息增益的计算,而且在属性信息增益计算中对对数计算 

所花的时间也相对较多,使得决策树分类算法的执行效率难以得到提高,从而增加了时间复杂度. 

3 实例分析 

根据福建交通学院学生的德育素质、智育素质、健康与卫生、技能素质和社会实践来进行评定学生综 

合成绩的分类.

 南京工程学院学报(自然科学版) 2013年9月 

把政治思想品德、专业成绩、健康与卫生、技能素质和社会实践的所有 

分值按80—100的设为1级(即优),7O—_79.5设为2级(即良),60—69.5 

设为3级(即中),把原有的数据进行离散化.它的非类别属性见表1. 

根据表2的学生的成绩的综合的评价做出如下计算: 

1)对于类别属性的信息熵,即对学生综合成绩的分类,令类别属性的 

信息熵为 ,那么属于1级有25个,2级有14个,3级有11个,所以类别属 

性的信息熵为 表1非类别属性及取值 

属性 可能取值 政治思想品德 专业成绩 健康与卫生 技能素质 社会实践 1,2,3 1,2,3 1,2,3 1,2 1,2 

,( )=一 3@log2了 ̄Si=一 25l。g 2 5一亏1 4l。g 14一 11l。g 11=1.501 2 

表2样本训练集 

序号 政治思想品德 专业成绩 健康与卫生 技能素质 社会实践 综合成绩 

2)对于非类别属性的信息熵计算,选择非类别属性为政治思想,在政治思想中1级有l9个,其中综 

合成绩为1的有19个,2的为0个,3的为0个;2级有l8个,其中综合成绩为1的有6个,综合成绩为2 

的有9个,综合成绩为3的有3个;3级的有13个,其中综合成绩为1的有1个,综合成绩为2的有7个, 

综合成绩为3的有5个.由公式 

E(A)=∑ ,(Slj ̄S2j,S3j) 

可得: 

E c思想 = 19(一嚣 。g )+ (一 。g: 一 -% 一素 og2 )+ 

(一古-。g: 一 。g: 一 。g 吾)=0.867 8 

同理可得,以专业成绩和健康与卫生为非类别属性计算 

E(专业)=0.541 7,E(健康)=1.083 8 

以技能和社会实践作为非类别属性计算 

(技能)=1.398 9,E(实践)=1.091 5 

3)根据属性A对数据划分的信息增益,G(A)=,(T)一E(A)可以得出以下信息增益量: 

G(思想)=,( )一 (思想)=1.501 2—0.867 8=0.633 4 

G(专业)=,( )一E(专业)=1.501 2—0.541 7=0.959 5 

G(健康)=,(T)一E(健康)=1.501 2—1.083 8=0.417 4 

G(技能)=,( )一E(技能)=1.501 2—1.398 9=0.102 3 l{.._1 l,‘ l 1 1 ; 2 2 2 2 1 2 1 2 2 1 3 1{..3 1, 2 ; 卯 铝 

如 第11卷第3期 周桂如:决策树算法的研究及实例分析 61 

G(实践)=,( )一E(实践)=1.501 2—1.091 5=0.409 7 

从以上公式推理得到的结果可以比较出G(专业)的值最大,即可以认为专业成绩对分类的帮助最 

大,因此可以选择专业作为它的测试属性. 

根据以上方法,通过ID3算法构造出的一棵决策树,如图1所示. 

4 结语 图1 ID3算法生成的决策树 

主要介绍决策树的分类及其过程.介绍信息增益、条件熵和信息熵的概念及其计算公式;描述ID3的 

主要算法,利用其算法过程进行实例分析;ID3算法是逐个考虑训练例,是一种单变量的算法,偏向于属性 

取值较多值的那个属性,而实际上,选择取值多的属性作为首先分裂的属性不一定是最优的;同时由以上 

所计算的工作量也就可以看出,ID3算法中对数的运算还是比较复杂的,这要花一定的时间的换算.所以 

针对ID3算法中的信息熵,互信息的计算可以进行化简,以提高其的建树速度和效率. 

参考文献: [1]营志刚,金旭.数据挖掘中数据预处理的研究与实现[J].计算机应用研究,2004,21(7):117—1j 8. [2]戴稳胜,匡宏波,谢邦昌.数据挖掘中的关联规则[J].统计研究,2002(8):4O一42. [3]罗海蛟,刘显.数据挖掘中分类算法的研究及其应用[J].微机发展,2003,13(s2):48—50. [4]牛祥春.数据挖掘技术研究与应用初探[J].活力,2006,5:28—3O. [5] NIWA K.A knowledge based human—computer cooperation system for ill—structure management domains[J].IEEE Tran Syst,Man and Cybem,1986,16(3):335—343. [6]栾丽华,吉根林.决策树分类技术研究[J].计算机工程,2004.30(9):94—96.

相关主题