全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SPSS论坛
4078 5
2010-03-01
最近研究基于信息熵的决策树构建,有些东西搞清楚了,但还有很多稀里糊涂的,现把想法列出来,请各位参与讨论。

    假设有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 ,最后可能会选取后者作为分枝类型。
因为此时两者的信息熵增益都超过一定的阈值,且后者的叶子数最少。

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

扫码加我 拉你入群

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

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

全部回复
2010-3-1 16:46:48
大家聊一聊嘛
二维码

扫码加我 拉你入群

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

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

2010-3-1 23:29:57
咋没人给我指点一下呢,大侠们来指点一下迷津嘛
二维码

扫码加我 拉你入群

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

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

2010-3-2 20:12:09
各位看官说两句嘛,别光看不顶
二维码

扫码加我 拉你入群

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

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

2010-4-14 23:57:24
我也是,现在又一个这样的学习任务要完成,能不能提供点资料,最好是有一个案例指导最好
二维码

扫码加我 拉你入群

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

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

2014-4-25 09:10:20
关键是不懂啊
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群