决策树id3算法实现决策树在本科阶段有涉及到吗

苹果/安卓/wp
积分 16779, 距离下一级还需 1521 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限, 设置回复可见, 签名中使用代码
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发, 提升卡, 沉默卡, 千斤顶, 变色卡下一级可获得
道具: 置顶卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
TA的文库&&
开心签到天数: 99 天连续签到: 1 天[LV.6]常住居民II
本帖最后由 我的素质低 于
20:18 编辑
C5.0决策树之ID3、C4.5、C5.0算法
& &最早的决策树算法起源于CLS(Concept Learning System)系统,即概念学习系统。它是最早的决策树算法,为今后的许多决策树算法提供了借鉴。[]
& &决策树模型,通过对训练样本的学习,建立分类规则;依据分类规则,实现对新样本的分类;属于有指导(监督)式的学习方法,有两类变量:目标变量(输出变量),属性变量(输入变量)。
决策树模型与一般统计分类模型的主要区别:决策树的分类是基于逻辑的,一般统计分类模型是基于非逻辑的。
& &1、常见决策树
& &常见的算法有CHAID、CART、Quest和C5.0。对于每一个决策要求分成的组之间的“差异”最大。各种决策 树算法之间的主要区别就是对这个“差异”衡量方式的区别。
& &决策树很擅长处理非数值型数据,这与神经网络智能处理数值型数据比较而言,就免去了很多数据预处理工作。[]
二、原理——如何制定节点[]
<font color="#、信息熵(Entropy)
信息量的数学期望,是心愿发出信息前的平均不确定性,也称先验熵。
决策属性的Entropy(熵):
<font color="#、信息增益
例如outlook里面有三个属性sunny、OverCas、Rain,每个属性在决策属性中,sunny有2个yes,3个no。
outlook信息增益:
=0./14*0./14*0.75
以下其他属性同理。
Outlook=0.24675
我们看到Outlook的信息增益是最大的,所以作为决策树的一个根节点。即:
然后,从Outlook下面出来三个树枝,最左边的Sunny,我们从Outlook是Sunny的实例数据中,找到信息增益最大的那一个,依次类推。
<font color="#、分离信息(Split Information)
数据集通过条件属性A的分离信息。
分离信息的计算方法,数学符号表达式为:
数据集通过Outlook这个条件属性的分离信息,Outlook有三个属性值分别为:Sunny,Overcast,Rain,它们各占5,4,5,所以:
<font color="#、信息增益率(Information gain ratio)数学符号表达式
数据集S针对Outlook的信息增益率,
分子和分母这两个值都已经求出来,选择信息增益率最大的那个属性,作为节点。
<font color="#、剪枝剪枝一般分两种方法:先剪枝和后剪枝。
(1)先剪枝
& &先剪枝方法中通过提前停止树的构造(比如决定在某个节点不再分裂或划分训练元组的子集)而对树剪枝。先剪枝有很多方法,比如(1)当决策树达到一定的高度就停止决策树的生长;(2)到达此节点的实例具有相同的特征向量,而不必一定属于同一类,也可以停止生长(3)到达此节点的实例个数小于某个阈值的时候也可以停止树的生长,不足之处是不能处理那些数据量比较小的特殊情况(4)计算每次扩展对系统性能的增益,如果小于某个阈值就可以让它停止生长。先剪枝有个缺点就是视野效果问题,也就是说在相同的标准下,也许当前扩展不能满足要求,但更进一步扩展又能满足要求。这样会过早停止决策树的生长。
& &(2)后剪枝
& &它由完全成长的树剪去子树而形成。通过删除节点的分枝并用树叶来替换它。树叶一般用子树中最频繁的类别来标记。
& &(3)悲观剪枝法
& &使用训练集生成决策树又用它来进行剪枝,不需要独立的剪枝集。
& &悲观剪枝法的基本思路是:设训练集生成的决策树是T,用T来分类训练集中的N的元组,设K为到达某个叶子节点的元组个数,其中分类错误地个数为J。由于树T是由训练集生成的,是适合训练集的,因此J/K不能可信地估计错误率。
三、ID3、C4.5、C5.0对比
四、五种决策算法的比较[]
& &通过十七个公开数据集,对比FS-DT、Yuan’s、FDT、C4.5、Fuzzy ID3、CART五种决策树方法。& &1、准确率比较
& &CD值,临界差值,在Nemenyi检验和Tukey检验方法两种检验方法用差异时可以用CD值来衡量。得分越低,表示相应的算法的准确率越高。
Fuzzy ID3比FS-DT表现优秀。
& &2、叶子节点比较
& &普遍看来,CART和FS-DT两种算法的叶子节点数目比较少。
& &比较三种模糊决策树,FS-DT、Yuan’s FDT、Fuzzy ID3,FS-DT算法节点比较少。
& &3、相似性比较
& &关于相似性,一种观点认为两种分类器的分类准确率相同,则它们具有较高的相似度;另一方面,即两种分类器讲相同的样本分到了同一类,则相似度较高。
& &大部分两次实验的相似度能达到以上,但有些实验的相似度只有,如应用于第二类五次实验的相似度。
& &下面分析具体是哪种原因导致上面的问题。对于C4.5应用于Iris数据集,第二类的相似度中存在只有50%的相似度问题,对比算法在第二类的相似度,全部高于90%,这说明分类器的选取没有问题。问题可能存在于Iris数据集中第二类的数据中,这一类数据集分布不集中,导致了分类难度的增加。
(欢迎加好友,一起学习哟~~)
20:08:32 上传
20:08:38 上传
20:08:43 上传
20:08:47 上传
20:08:49 上传
20:08:54 上传
20:08:57 上传
20:08:58 上传
20:08:59 上传
20:09:00 上传
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
素质又出精品啦!
总评分:&经验 + 260&
论坛币 + 160&
学术水平 + 10&
热心指数 + 15&
信用等级 + 15&
本帖被以下文库推荐
& |主题: 407, 订阅: 19
& |主题: 1297, 订阅: 589
& |主题: 72, 订阅: 56
心晴的时候,雨也是晴;心雨的时候,晴也是雨!
扣扣:,欢迎一块儿吐槽!!
回帖奖励 +1 个论坛币
感谢分享,感谢楼主,用心良苦,令人钦佩。
鼓励积极发帖讨论
总评分:&经验 + 110&
论坛币 + 5&
学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
回帖奖励 +1 个论坛币
没有电子版吗?
鼓励积极发帖讨论
总评分:&经验 + 10&
论坛币 + 2&
回帖奖励 +1 个论坛币
这个算法好~要好好学习一下了
鼓励积极发帖讨论
总评分:&经验 + 10&
论坛币 + 2&
回帖奖励 +1 个论坛币
不错谢楼主
鼓励积极发帖讨论
总评分:&经验 + 10&
论坛币 + 2&
回帖奖励 +1 个论坛币
整理得不错
鼓励积极发帖讨论
总评分:&经验 + 10&
论坛币 + 2&
回帖奖励 +1 个论坛币
回帖奖励 +1 个论坛币
正好在学习决策树章节。谢谢!
回帖奖励 +1 个论坛币
回帖奖励 +1 个论坛币
很好的学习材料
一级伯乐勋章
一级伯乐勋章
初级学术勋章
初级学术勋章
初级热心勋章
初级热心勋章
初级信用勋章
初级信用勋章
中级热心勋章
中级热心勋章
中级学术勋章
中级学术勋章
中级信用勋章
中级信用勋章
高级学术勋章
高级学术勋章
高级热心勋章
高级热心勋章
高级信用勋章
高级信用勋章
特级学术勋章
特级学术勋章
无限扩大经管职场人脉圈!每天抽选10位免费名额,现在就扫& 论坛VIP& 贵宾会员& 可免费加入
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
京ICP证090565号
论坛法律顾问:王进律师新手求助 关于决策树的ID3算法【数据挖掘吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:9,923贴子:
新手求助 关于决策树的ID3算法收藏
其中算的熵值有个公式 比如p1=5/2 p2=5/3那么熵值=-2/5log2 2/5-3/5log2 3/5=0.97 请问这个0.97是怎么来的呢 可以用手算算出来吗
数据挖掘选 达内 名师授课SQL120天入门至精通,不就业免费重学,,数据挖掘达内培训「需高中以上.7W家合作名企,热门数据挖掘培训,让你好钱途,无忧就业
干嘛要手算?
专业不同吧 我们专业主要是组网的 所以这方面也就科普一下
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或查看: 5921|回复: 17|关注: 0
关于决策树算法C4.5和ID3 的参数设置及运行问题
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
最近在做用决策树算法进行数据分类,在网上找到一些代码比如ID3代码所需参数如下
function D = ID3(train_features, train_targets, params, region)
该程序始终无法运行,而且其中很多地方不能理解,比如不知道要输入参数是什么意思,如何设置并使用,有哪位大侠能够教我一下吗,在下不胜感激!
<h1 style="color:# 麦片财富积分
自己顶一下,看有没有人来回答
<h1 style="color:# 麦片财富积分
我最近也在做这个,也是不是很明白这些参数具体什么意思,请问楼主现在解决了吗?可以交流下吗?灰常感谢啊
<h1 style="color:# 麦片财富积分
zouzheng23 发表于
我最近也在做这个,也是不是很明白这些参数具体什么意思,请问楼主现在解决了吗?可以交流下吗?灰常感谢啊 ...
好吧,没什么进展,很惭愧!!!
<h1 style="color:# 麦片财富积分
哦,没事,我们继续努力,我也看这个程序好久了,一直都不能运行,网上代码都是一个版本,不知道哪里设置有问题还是怎样。
<h1 style="color:# 麦片财富积分
zouzheng23 发表于
哦,没事,我们继续努力,我也看这个程序好久了,一直都不能运行,网上代码都是一个版本,不知道哪里设置有 ...
我也下了这个程序 感觉还缺函数。。。 你的问题解决了吗
<h1 style="color:# 麦片财富积分
alansmithwx 发表于
我也下了这个程序 感觉还缺函数。。。 你的问题解决了吗
解决了,通知一声,学习学习,谢谢啊
<h1 style="color:# 麦片财富积分
我也在研究决策树的程序呢。。。苦恼中,求分享
<h1 style="color:# 麦片财富积分
weixiaodeyu 发表于
我也在研究决策树的程序呢。。。苦恼中,求分享
有结果了吗 我也在研究 同求分享
<h1 style="color:# 麦片财富积分
<font color="# 发表于
自己顶一下,看有没有人来回答
楼主C4.5算法弄懂了没有,求帮助~
站长推荐 /2
Powered by决策树ID3算法详解 -
- ITeye技术网站
博客分类:
决策树学习是以实例为基础的归纳学习。
决策树学习采用的是自顶向下的递归方法,决策树的每一层节点依照某一属性向下分子节点,待分类的实例在每一节点处与该节点相关的属性进行比较,根据不同的比较结果向响应的子节点扩展,这一过程在到达决策树的叶节点时结束,此时得到结论。
决策树学习最大的优点是它可以自学习。
决策树是描述分类的一种数据结构从上端的根节点开始,各种分类原则被引用进来,并以这些分类原则见根节点的数据集划分为子集,这一划分过程直到某种约束条件满足而结束。
构造一棵决策树要解决的个问题;
()收集待分类的数据,这些数据的所有属性应该是完全标注的。
()设计分类原则,即数据的哪些属性可以用来分类,以及如何将该属性量化。
()分类原则的选择,在众多的分类准则中,每一步选择哪一准则是最终的树更令人满意。
()设计分类停止条件。通用分类目标是整棵树的熵的总量最小。
自信息量:设信源发出的概率在收到符号之前,收信者对的不确定性定义为的自信息量。
信息熵:自信息量只能反映符号的不确定性,而信息熵用来度量整个信源整体的不确定性,定义为:求和
条件熵:设信源为X,收信者收到信息Y,用条件熵H(X|Y)来描述收信者收到Y后X的不确定性的估计。
平均互信息量:用平均互信息量来表示信息所能提供的关于的信息量的大小。
下边的例子转自新浪博客,很详细,讲的不错。
还有一个老外的例子,也很不错,。
决策树是数据挖掘中应用较广的一种算法,下面我将用一个例子来对较早出现的ID3算法探索应用一下,从而复习下昨天所学的知识,由于是刚接触,理解有限,有一些问题还得高手们解答一下;
世界杯期间我和同学一起去吃了几回大排档,对那种边凑热闹边看球的氛围感觉很不错,但虽然每个夏天我都会凑几回这种热闹,但肯定并不是所有人都喜欢凑这种热闹的,而应用决策树算法则能有效发现哪些人愿意去,哪些人偶尔会去,哪些人从不愿意去;
变量如表1所示,自变量为年龄、职业、性别;因变量为结果(吃大排档的频率)。
计算过程:
1、首先计算结果选项出现的频率:
结果频率表
2、计算因变量的期望信息:
E(结果)=-(p1*log2(p1)+p2*log2(p2)+p3*log2(p3) )
=-(0.375*log2(0.375)+0.125*log2(0.125)+0.5*log2(0.5) )
注:这里Pi对应上面的频率
3、计算自变量的期望信息(以年龄A为例):
E(A)=∑count(Aj)/count(A)* (-(p1j*log2(p1j)+p2j*log2(p2j)+p3j*log2(p3j) ))
3.1公式说明:
Count(Aj):年龄A第j个选项个数; j是下面表3五个选项任一
年龄记录数量表
Count(A):年龄总记录数
p1j =count(A1j)/count(Aj) :年龄A第j个选项在结果中选择了“从不”的个数占年龄A第j个选项个数的比例;
p2j =count(A2j)/count(Aj) :年龄A第j个选项在结果中选择了“偶尔”的个数占年龄A第j个选项个数的比例;
p3j =count(A3j)/count(Aj) :年龄A第j个选项在结果中选择了“经常”的个数占年龄A第j个选项个数的比例;
3.2公式分析
在决策树中自变量是否显著影响因变量的判定标准由自变量选项的不同能否导致因变量结果的不同决定,举例来说如果老年人都从不去大排档,中年人都经常去,而少年都偶尔去,那么年龄因素肯定是决定是否吃大排档的主要因素;
按照假设,即不同年龄段会对结果产生确定的影响,以表3年龄在20以下的3个人为例,假设他们都在结果中选择了“偶尔”选项,此时:
p2j =count(A2j)/count(Aj)=1,
p1j =count(A1j)/count(Aj)=0、
p3j =count(A3j)/count(Aj)=0;
(p1j*log2(p1j)+p2j*log2(p2j)+p3j*log2(p3j) )→0;
LIM(p2j→1) p2j*log2(p2j) →LIM(p2j→1) 1*0→0
LIM(p1j→0) p1j*log2(p1j) →LIM(p1j→0) log2(p1j) /(1/ p1j) →LIM(p1j→0) p1j* log2(e) →0
LIM(p3j→0) p1j*log2(p3j) →LIM(p3j→0) log2(p3j) /(1/ p3j) →LIM(p3j→0) p3j* log2(e) →0
(p1j*log2(p1j)+p2j*log2(p2j)+p3j*log2(p3j) )→0+0+0=0
可见,如果每个年龄段都对结果有确定影响,那么各年龄段的不加权的期望信息(p1j*log2(p1j)+p2j*log2(p2j)+p3j*log2(p3j) )就很小,从而E(A)就很小甚至趋近0了;
4、自变量的期望信息计算
4.1、E(A)计算
从表4看,有两个年龄段对结果产生了不同影响,计算如下:
E(30-40)= count(Aj)/count(A)* (-(p1j*log2(p1j)+p2j*log2(p2j)+p3j*log2(p3j) ))
=3/16*(-(2/3* log2(2/3) +1/3*log2(1/3) ))
E(20-30)= count(Aj)/count(A)* (-(p1j*log2(p1j)+p2j*log2(p2j)+p3j*log2(p3j) ))
=5/16*(-(1/5* log2(1/5)+3/5* log2(3/5) +1/5*log2(1/5) ))
最终算得:
E(A)= E(30-40)+ E(20-30)=0.172+0.428=0.6
年龄信息表
5、信息增益的计算
年龄变量的信息增益计算为:
Gain(A)=E(结果)-E(A)= 1.406-0.6=0.806
同理可以计算Gain(B)、Gain(C);
注:信息增益大说明较好的降低了划分前的无序程度,因此决策树的第一次划分就看哪个变量的信息增益大就按哪个划分;
6、划分过程
如果是像上例那样变量选项比较少的决策树来讲,假设年龄变量的信息增益最大,那么第一部划分就是:
从不去光顾
数据再按照职业和性别计算信息增益找出规则
数据再按照职业和性别计算信息增益找出规则
实际划分是按分割阈值的标准:A、数值型变量——对记录的值从小到大排序,计算每个值作为临界点产生的子节点的异质性统计量。能够使异质性减小程度最大的临界值便是最佳的划分点。B、分类型变量——列出划分为两个子集的所有可能组合,计算每种组合下生成子节点的异质性。同样,找到使异质性减小程度最大的组合作为最佳划分点。注两个问题:根节点一定要产生两个子集吗,要是产生三个子集、四个子集呢,产生多少子集有什么标准呢?我猜测是不是多个子集之间的结果两两差异显著就可以继续进行拆分,如果新的子集不能和原来任一子集的结果都有显著差异就停止划分呢?如何构建这个阈值的统计量呢?
7、划分停止的标准
满足以下一个即停止生长。(1) 节点达到完全纯性;(2) 数树的深度达到用户指定的深度;(3) 节点中样本的个数少于用户指定的个数;(4) 异质性指标下降的最大幅度小于用户指定的幅度。
剪枝:完整的决策树对训练样本特征的描述可能“过于精确”(受噪声数据的影响),缺少了一般代表性而无法较好的用对新数据做分类预测,出现 ”过度拟合“。——移去对树的精度影响不大的划分。使用 成本复杂度方法,即同时度量错分风险和树的复杂程度,使二者越小越好。剪枝方式:A、 预修剪(prepruning):停止生长策略B、后修剪(postpruning):在允许决策树得到最充分生长的基础上,再根据一定的规则,自下而上逐层进行剪枝。
浏览 16007
浏览: 157201 次
来自: 北京
很棒的小demo
阿斯达是事实上事实上事实上
试了下新浪微博的登录, 没有成功啊登录后重定向public S ...
请问腾讯微博 p_skey这个cookie怎么取?}

我要回帖

更多关于 id3决策树算法例题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信