决策树_ID3算法_第1页
决策树_ID3算法_第2页
决策树_ID3算法_第3页
决策树_ID3算法_第4页
决策树_ID3算法_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 决策树决策树报告人:彭蔚指导老师:李玉鑑决策树决策树基本概念决策树基本概念关于分类问题关于分类问题 分类(Classification)任务就是通过学习获得一个目标函数(Target Function)f, 将每个属性集x映射到一个预先定义好的类标号y。 分类方法的实例包括:决策树分类法、基于规则的分类法、神经网络、支持向量级、朴素贝叶斯分类方法等。决策树决策树基本概念决策树基本概念解决分类问题的一般方法解决分类问题的一般方法 分类问题一般包括两个步骤: 1、模型构建(归纳) 通过对训练集合的归纳,建立分类模型。 2、预测应用(推论) 根据建立的分类模型,对测试集合进行测试。决策树决策树基本

2、概念决策树基本概念决策树决策树 决策树是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。决策树决策树算法决策树算法与决策树相关的重要算法与决策树相关的重要算法1、Hunt,Marin和Stone 于1966年研制的CLS学习系统,用于学习单个概 念。2、1979年, J.R. Quinlan 给出ID3算法,并在1983年和1986年对ID3 进行了总结和简化,使其成为决策树学习算法的典型。3、Schlimmer 和Fisher 于1986年对ID3进行改造,在每个可能的决策树节点创建缓

3、冲区,使决策树可以递增式生成,得到ID4算法。4、1988年,Utgoff 在ID4基础上提出了ID5学习算法,进一步提高了效率。1993年,Quinlan 进一步发展了ID3算法,改进成C4.5算法。5、另一类决策树算法为CART,与C4.5不同的是,CART的决策树由二元逻辑问题生成,每个树节点只有两个分枝,分别包括学习实例的正例与反例。CLS, ID3,C4.5,CART决策树决策树算法决策树算法决策树的表示决策树的表示决策树的基本组成部分:决策结点、分支和叶子。决策树的基本组成部分:决策结点、分支和叶子。年龄?学生?信誉?买青中老否是优良不买买买不买决策树中最上面的结点称为根结点。是整

4、个决策树的开始。每个分支是一个新的决策结点,或者是树的叶子。每个决策结点代表一个问题或者决策.通常对应待分类对象的属性。每个叶结点代表一种可能的分类结果 在沿着决策树从上到下的遍历过程中,在每个结点都有一个测试。对每个结点上问题的不同测试输出导致不同的分枝,最后会达到一个叶子结点。这一过程就是利用决策树进行分类的过程,利用若干个变量来判断属性的类别决策树决策树决策树的优点的优点1、推理过程容易理解,决策推理过程可以表示成If Then形式;2、推理过程完全依赖于属性变量的取值特点;3、可自动忽略目标变量没有贡献的属性变量,也为判断属性 变量的重要性,减少变量的数目提供参考。决策树决策树算法决策

5、树算法CLS(Concept Learning System)算法)算法 CLS算法是早期的决策树学习算法。它是许多决策树学习算法的基础。 CLS基本思想基本思想 从一棵空决策树开始,选择某一属性(分类属性)作为测试属性。该测试属性对应决策树中的决策结点。根据该属性的值的不同,可将训练样本分成相应的子集,如果该子集为空,或该子集中的样本属于同一个类,则该子集为叶结点,否则该子集对应于决策树的内部结点,即测试结点,需要选择一个新的分类属性对该子集进行划分,直到所有的子集都为空或者属于同一类。决策树决策树算法决策树算法CLS算法算法-决策树的构建决策树的构建眼睛颜色眼睛颜色1,62,4,83,5,

6、7黑色黑色兰色兰色灰色灰色不属于同一类,非叶结点不属于同一类,非叶结点决策树眼睛颜色眼睛颜色头发颜色头发颜色头发颜色头发颜色头发颜色头发颜色黑色黑色兰色兰色灰色灰色决策树算法决策树算法CLS算法算法黄种人黄种人1混血混血6白种人白种人2白种人白种人4混血混血8白种人白种人3白种人白种人5混血混血7黑色黑色金色金色金色金色红色红色 黑色黑色金色金色红色红色黑色黑色决策树决策树算法决策树算法CLS算法算法1 生成一颗空决策树和一张训练样本属性集;2 若训练样本集T 中所有的样本都属于同一类, 则生成结点T , 并终止学习算法;否则3 根据某种策略某种策略从训练样本属性表中选择属性 A 作为测试属性

7、, 生成测试结点A 4 若A的取值为v1,v2,vm, 则根据A 的取值的 不同,将T 划分成 m个子集T1,T2,Tm;5 从训练样本属性表中删除属性A;6 转步骤2, 对每个子集递归调用CLS;决策树CLS算法问题算法问题在步骤3中,根据某种策略从训练样本属性表中选择属性A作为测试属性。没有规定采用何种测试属性。实践表明,测试属性集的组成以及测试属性的先后对决策树的学习具有举足轻重的影响。举例加以说明,下表为调查学生膳食结构和缺钙情况的关系,其中1表示包含食物,0表示不包含决策树算法决策树算法决策树CLS算法问题算法问题决策树算法决策树算法学生膳食结构和缺钙调查表决策树CLS算法问题算法问

8、题决策树算法决策树算法采用不同的测试属性及其先后顺序将会生成不同的决策树鸡肉鸡肉猪肉猪肉猪肉猪肉牛肉牛肉牛肉牛肉牛肉牛肉不缺钙(不缺钙(2)缺钙(缺钙(3,6) 不缺钙(不缺钙(4) 不缺钙(不缺钙(10)缺钙(缺钙(5)不缺钙(不缺钙(1)鱼肉鱼肉缺钙(缺钙(5)不缺钙(不缺钙(7,9)是是否否是是否否否否否否否否否否否否是是是是是是是是是是 决策树牛奶牛奶不缺钙不缺钙(1,2,4,7,9,10)缺钙缺钙(3,5,6,8)CLS算法问题算法问题决策树算法决策树算法 在上例中,显然生成的两种决策树的复杂性和分类意义相差很大由此可见,选择测试属性是决策树学习算法中需要研究的重要课题。ID3算法

9、ID3是Quinlan于1986年提出的,是机器学习中一种广为人知的一个算法,它的提出开创了决策树算法的先河,而且是国际上最早最有影响的决策树方法,在该算法中,引入了信息论中熵的概念,利用分割前后的熵来计算信息增益,作为判别能力的度量。 该方法使用信息增益度选择测试属性。该方法使用信息增益度选择测试属性。 决策树决策树ID3 信息量大小的度量信息量大小的度量决策树算法决策树算法v设训练数据集D一共有m类样例,每类样例数为: 。v以属性A作为决策树的根,具有v个值 ,它将D分为v个子集 ,假设子集中任意元组属于类C的概率用 表示,并用 估计。那么,该子集的信息量(熵)定义如下所示: mipi,

10、2 , 1,vvvv,21,21veeeip)(log)(21imiirppeIDCDi/,)()(1rvjreIDeAE那么以A为根分类后所需的信息期望如下面公式2所示:公式公式1公式公式2决策树ID3 信息量大小的度量信息量大小的度量决策树算法决策树算法Gain(S,A)是属性A在集合S上的信息增益Gain(S,A)= I(S) E(S,A) 公式公式3Gain(S,A)越大,说明选择测试属性对分类提供的信息越多,使得完成元组分类还需要的信息越少。决策树ID3 决策树建立算法决策树建立算法1 决定分类属性;2 对目前的数据表,建立一个节点N3 如果数据库中的数据都属于同一个类,N就是树叶,

11、在树叶上 标出所属的类4 如果数据表中没有其他属性可以考虑,则N也是树叶,按照少 数服从多数的原则在树叶上标出所属类别5 否则,根据平均信息期望值E或GAIN值选出一个最佳属性作 为节点N的测试属性6 节点属性选定后,对于该属性中的每个值: 从N生成一个分支,并将数据表中与该分支有关的数据收集形 成分支节点的数据表,在表中删除节点属性那一栏 如果分支数据表非空,则运用以上算法从该节点建立子树。决策树算法决策树算法决策树决策树算法决策树算法决策树第第1步计算决策属性的熵步计算决策属性的熵决策属性“买计算机?”。该属性分两类:买/不买S1(买)=641 S2(不买)= 383S=S1+S2=102

12、4P1=641/1024=0.6260P2=383/1024=0.3740I(S1,S2)=I(641,383) =-P1Log2P1-P2Log2P2 =-(P1Log2P1+P2Log2P2) =0.9537决策树算法决策树算法决策树第第2步计算条件属性的熵步计算条件属性的熵条件属性共有4个。分别是年龄、收入、学生、信誉。分别计算不同属性的信息增益。决策树算法决策树算法决策树第第2-1步计算年龄的熵步计算年龄的熵年龄共分三个组: 青年、中年、老年青年买与不买比例为128/256S1(买)=128 S2(不买)= 256S=S1+S2=384P1=128/384P2=256/384I(S1,

13、S2)=I(128,256) =-P1Log2P1-P2Log2P2 =-(P1Log2P1+P2Log2P2) =0.9183决策树算法决策树算法决策树第第2-2步计算年龄的熵步计算年龄的熵年龄共分三个组: 青年、中年、老年中年买与不买比例为256/0S1(买)=256 S2(不买)= 0S=S1+S2=256P1=256/256P2=0/256I(S1,S2)=I(256,0) =-P1Log2P1-P2Log2P2 =-(P1Log2P1+P2Log2P2) =0决策树算法决策树算法决策树第第2-3步计算年龄的熵步计算年龄的熵年龄共分三个组: 青年、中年、老年老年买与不买比例为125/1

14、27S1(买)=257 S2(不买)=127S=S1+S2=384P1=257/384P2=127/384I(S1,S2)=I(257,127) =-P1Log2P1-P2Log2P2 =-(P1Log2P1+P2Log2P2) =0.9157决策树算法决策树算法决策树第第2-4步计算年龄的熵步计算年龄的熵年龄共分三个组: 青年、中年、老年所占比例青年组 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.6877G(年龄信息增益) =0.

15、9537-0.6877 =0.2660 (1)决策树算法决策树算法决策树第第3步计算收入的熵步计算收入的熵收入共分三个组: 高、中、低计算收入的平均信息期望E(收入)=0.9361G(收入信息增益)=0.9537-0.9361 =0.0176 (2)决策树算法决策树算法决策树第第4步计算学生的熵步计算学生的熵学生共分二个组: 学生、非学生E(学生)=0.7811G(年龄信息增益)=0.9537-0.7811 =0.1726 (3)决策树算法决策树算法决策树第第5步计算信誉的熵步计算信誉的熵信誉分二个组: 良好,优秀E(信誉)= 0.9048G(信誉信息增益)=0.9537-0.9048 =0.

16、0453 (4)决策树算法决策树算法决策树第第6步计算选择节点步计算选择节点 年龄信息增益=0.9537-0.6877 =0.2660 (1)收入信息增益=0.9537-0.9361 =0.0176 (2)年龄信息增益=0.9537-0.7811 =0.1726 (3)信誉信息增益=0.9537-0.9048 =0.0453 (4)决策树算法决策树算法决策树年龄年龄青年中年老年买/不买买买/不买叶子决策树算法决策树算法决策树青年买与不买比例为128/256S1(买)=128 S2(不买)= 256S=S1+S2=384P1=128/384P2=256/384I(S1,S2)=I(128,256) =-P1Log2P1-P2Log2P2 =-(P1Log2P1+P2Log2P2) =0.9183决策树算法决策树算法决策树如果选择收入作为节点分高、中、低平均信息期望(加权总和): E(收入)= 0.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论