楼主: zjkarson
4134 5

[问答] 关于决策树的分枝,请讨论 [推广有奖]

  • 0关注
  • 0粉丝

高中生

65%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
280 点
帖子
18
精华
0
在线时间
41 小时
注册时间
2007-8-8
最后登录
2016-10-27

楼主
zjkarson 发表于 2010-3-1 10:55:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
最近研究基于信息熵的决策树构建,有些东西搞清楚了,但还有很多稀里糊涂的,现把想法列出来,请各位参与讨论。

    假设有Age[Range]、Sex[Flag]、Income[Range]、State_f[Set]、……、default[flag] 等字段,用前面几个字段建立C5.0决策树模型,预测default的0/1类型。
根据信息熵增益来构建树的方法大致如下:
1.计算各字段的信息熵增益,取最大的那个字段作为树的第一个分枝节点;
2.依次计算各节点下的其它字段的信息熵增益,取最大的作为第二个分枝节点;
3.重复上述过程,直至树长满或者达到停机条件。

    这里涉及到属性的信息熵计算,由于属性包括Range型和Set型,会含有不同的取值,如果一个值作为一个分枝,当然会导致树很庞大。
对于Range型的属性,比如Age=[18,19,20,21,22,23,......,77,78],我认为C5.0里是这么确定分枝的:
首先将Age分为 { 18; [19,...,78] } 两段,计算其产生的信息增益;
其次将Age分为 {[18,19]; [20,...,78] } 两段,计算其产生的信息增益;
。。。
一直持续到将Age分为{ [18,...,77]; 78} 两段,计算其产生的信息增益。

找出上述信息增益最大的情况,确定为其分枝方法,其目的也就是为了确定一个u,使得Age分为[18,u]和(u,78]两段且增益最大。
对于Range连续型的变量采用的是这种二分法。

但是对于Set型的变量,我没弄清楚具体怎么合并分枝,以下是我的一个初始考虑:
假设某变量有A、B、C、D、E五类,需要计算各种组合(A/BC/DE, A/BCDE, AB/CDE等,分别表示3、2、2个分枝),找出信息熵增益最大的情况。

但在实际过程中,我发现并不完全按照这个法则,我觉得可能是这种原因:
如果 A/B/C/DE 的信息熵增益大于 A/BC/DE ,最后可能会选取后者作为分枝类型。
因为此时两者的信息熵增益都超过一定的阈值,且后者的叶子数最少。

以上只是一个猜测,还没找到理论支撑,希望各位指点一下,或者推荐一本详细介绍决策树算法的好书,多谢了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:决策树 Default Income range fault 讨论 决策树

沙发
zjkarson 发表于 2010-3-1 16:46:48
大家聊一聊嘛

藤椅
zjkarson 发表于 2010-3-1 23:29:57
咋没人给我指点一下呢,大侠们来指点一下迷津嘛

板凳
zjkarson 发表于 2010-3-2 20:12:09
各位看官说两句嘛,别光看不顶

报纸
liguiming 发表于 2010-4-14 23:57:24
我也是,现在又一个这样的学习任务要完成,能不能提供点资料,最好是有一个案例指导最好
为金融而奋斗

地板
whloejing 发表于 2014-4-25 09:10:20
关键是不懂啊

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 22:28