一个改进的决策树算法
- 格式:pdf
- 大小:255.89 KB
- 文档页数:4
第3l卷第4期 20l1年8月 辽宁工业大学学报(自然科学版)
Journal ofLiaoning University ofTechnology(Natural Science Edition) 、b1.31.No.4 Aug.2011
本刊核心层次论文
一个改进的决策树算法
佟玉军,曹光辉,陈文实,刘鸿沈
(辽宁工业大学电子与信息工程学院,辽宁锦州 121001)
摘要:Iterative Dichotomiser version3(ID3)算法是数据挖掘中经典的决策树分类算法,其核心是分裂训练集
属性的选择标准,即分裂前后的信息增益量最大,用该标准选择属性时对于取值较多的属性具有较强依赖性。剖
析了ID3算法存在的不足并加以改进,引入了属性关注度,提出了改进算法AAID3算法。实验表明改进算法对
原ID3算法的取值偏向问题有所克服并使分类更加准确,决策树更加简明。
关键词:ID3算法:属性关注度;信息增益;AAID3算法
中图分类号:TP31 1 文献标识码:A 文章编号:1674—3261(201 1)04-0225・03
An Enhanced ID3 Algorithm Based on Attribute Attention
TONG Yu-jun,CAO Guang—hui,CHEN Wen—shi,LIU Hong-shen
(Electron&Information Engineedng College,Liaoning University ofTechnology,Jinzhou 121001,China)
Key words:ID3 algorithm;attribute attention;information gain;AAID3 algorithm
Abstract:In decision tree sorting,Iterative Dichotomiser version 3(ID3)is a classical algorithm
used to generate a decision tree invented by Ross Quinlan.Its core lies in the split-off training which
lumped the standard of attributes preference,namely,information gain is of maximum quantity both
before split-off and after split-off.The use of this preference standard to select attributes has a strong
dependence in regard of the milti-valued attributes preference.Disadvantages of ID3 algorithm were
analyzed and improved through introducing attribute attention.To the effect,AAID3 algorithm was
proposed.Experimental results expatiated AAID3 algorithm is superior to the ID3 in accuracy of
classification,concision of decision tree,and independence from multi-valued attributes.
1 ID3算法原理
随着网络与信息技术的不断发展,如何从海量
数据中挖掘知识日益重要,决策树是知识发现[1]
的重要工具之一,而ID3算法是决策树中代表性算 法,它首选找出最大信息增益的属性【l】,将给定学
习训练集分裂为若干子集,接下来以同样选择标准
对每个子集进行分裂,递归执行以上操作,终止条
件为任何子集包含数据类型相同,算法返回值为一
棵决策树,可以用它来对新的数据集进行分类学 习。该算法建立在奥卡姆剃刀定律【2】(如无必要,勿
增实体)基础上,该定律阐述了信息熵的概念。若
收稿日期:2011-06-24 作者简介:佟玉军(1970一),男(满族),辽宁凌海人,副教授。 信源有,1种消息,且每个消息是以相等可能产生的,
则该信源信息量可表示为
1=log,( ) (1)
设有数据集D,分类属性C{cl,C2,...,c }可将数据
集D分解成{ , ,..., ),则期望的信息需求量称
为D的熵,记为
卫 Entropy(D)=一∑pilog2(Pi) (2) I=l 1.1训练集划分前的熵
假设分裂前的训练数据集D有一个分类属性
和至少一个非分类属性,并假设分类属性C包含m
个不同的离散值,那么根据属性c,训练数据集D 辽宁工业大学学报(自然科学版) 第3l卷
中的元素可以被划分成m个不同的类别,因此训练
集划分前的熵可计算如公式(2)。
1.2训练集划分后的熵
设属性A有w个离散值,将数据集J[)分成f ,
….,dw},同时设分类属性C有m个离散值fc1,
c2,...,Cm),则 就可以被分类属性C分裂成{ ,,
…, ),其中 的样本规模记为{巧J, 的熵计
算如下
Entropy(d/)=_∑Po.1og2( ) J=l 式中:P 为任一记录属于类别C 的概率。
由公式可知,属于不同类别的记录的信息量的
加权平均值就是划分之后信源总熵,记为
Entropy(A,D)=∑wf Entropy(d,) (3) 习
式中:w,是 样本规模与D样本规模之商,记为
H .,叶 1)/Ir ̄
1.3信息增益
所谓信息增益就是由于系统因为分类而获得
的信息量。由系统分裂前的熵与根据某一属性如属
性A分裂系统后的熵值之差来描述,记为
Gain(A)=Entropy(D)一Entropy(A,D1 (4)
由公式(4)可以看出,系统分裂后的熵值Entropy(A,
D)越小则由此获得的信息增益Oain(A)就越大,这表
明如果选择属性A对系统进行分类,分类后系统的
噪音就小。
ID3是基于信息熵的决策树分类算法,采用自
顶向下的贪心算法与深度优先遍历算法递归搜索
可能的决策空间,信息增益是ID3算法用来选择分
裂属性的核心,即选用某一属性分裂训练集,能够
使得训练集被分类后的熵值最小【4】,也就获得了最
大的信息增益量。
2 AAID3算法
2.1传统11)3算法缺陷
传统ID3算法递归搜索全部分裂属性采用的是
自顶向下不回溯策略,该递归算法代码行数少、容
易理解、执行速度快【5J,且生成的决策树层次少。
但它的选择某个属性作为分裂属性的原则却存在
一个问题,总是偏向于选取多值属性作为分裂属
性,但取值较多的属性却不总是首选的属性,也就
是说,即使按照该原则根据传统ID3算法计算为优
先选取的分裂属性,在现实情况中却并不一定非常
重要,同样对这些分裂属性进行系统测试也不会获
取太多有用信息。 2.2属性关注度
基于上述传统ID3算法存在的不足,引入属性
关注度概念以期改进ID3算法选择属性时对多值属
性依赖问题。关注度反映的是个人或群体对特定领
域、事物或信息的认知偏好,这种意愿、倾向和偏
好具有促成具体行动的可能性。通过统计关注群体
对某些产品、服务信息的认知偏好,获知对这些产
品和服务信息的关注状况。属性关注度是指关注群
体对某一信源中相关属性的认知、倾向和偏好的程
度,记为
口f= (1一詈) (5)
式中:Ⅳ为非分类属性集合总数, 为关注群体总
数,S 为某个非分类属性的关注群体数,且在各非
分类属性上的a/之和为1.通过该公式的引入,可
以将某一信源中所有非分类属性权重从另一新角
度进行计算以消缓原算法对多值属性的依赖度。
2.3 AAID3的信息增益
改进算法AAID3算法是针对原算法中属性选
择标准进行改进,对公式(2)进行修改,引入属性
关注度参数研,引入属性关注度后的信息增益为
Gain'(A)=Entropy(D)-ai木Entropy(A, )) (6)
改进算法根据新的信息增益计算方法来选出
所有属性中信息增益最大的作为分裂属性,接下来
以同样的方法计算选出后继的分裂属性并最终产
生一颗决策树,新算法的终止条件与原算法相同。
改进算法同时采用剪枝技术【3.4】使在生成决策树时
取值数量偏少的数据元素不会被剪枝掉,同时新算
法比原ID3算法生成的决策树的结点数量减少且决
策树简洁。
3实验结果及分析
3.1 ID3算法生成决策树
下面的实验是对某一部门部分医疗保健数据
进行分类,训练数据集如表1(以前l5例数据集为 例),其中分类属性值【6】有y和Ⅳ两种。由公式(1)
和(2)可计算与信息增益相关熵值如下
Entropy(Y,N)=-(9/15) log2(9/15)一(6/15) log2(6/15)=
0.970 95位
同理计算Entropy(月收入):0.8位,En-tropy(健康状
态)-o.723 655位,Entropy(性别) .892454位。由此
得到前算法各属性信息增益:Gain(月收入)=
0.1 7095位,Gain(健康状态)=0.247 299位,Gain(性
别)=0.078 499位。由此得出属性健康状态的信息增
益最大。在决策树的构建过程中,首先选择健康状