用matlab实现决策树算法,机器学习-ID3决策树算法(附matlab/octave代码)

ID3决策树算法是基于信息增益来构建的,信息增益可以由训练集的信息熵算得,这里举一个简单的例子data=[心情好 天气好 出门心情好 天气不好 出门心情不好 天气好 出门心情不好 天气不好 不出门]前面两列是分类属性,最后一列是分类分类的信息熵可以计算得到:出门=3,不出门=1,总行数=4分类信息熵= -(3/4)*log2(3/4)-(1/4)*log2(1/4)第一列属性有两类,心情好,心...
摘要由CSDN通过智能技术生成

ID3决策树算法是基于信息增益来构建的,信息增益可以由训练集的信息熵算得,这里举一个简单的例子

data=[心情好 天气好  出门

心情好 天气不好 出门

心情不好 天气好 出门

心情不好 天气不好 不出门]

前面两列是分类属性,最后一列是分类

分类的信息熵可以计算得到:

出门=3,不出门=1,总行数=4

分类信息熵 = -(3/4)*log2(3/4)-(1/4)*log2(1/4)

第一列属性有两类,心情好,心情不好

心情好 ,出门=2,不出门=0,行数=2

心情好信息熵=-(2/2)*log2(2/2)+(0/2)*log2(0/2)

同理

心情不好信息熵=-(1/2)*log2(1/2)-(1/2)*log2(1/2)

心情的信息增益=分类信息熵 - 心情好的概率*心情好的信息熵 - 心情不好的概率*心情不好的信息熵

由此可以得到每个属性对应的信息熵,信息熵最大的即为最优划分属性。

还是这个例子,加入最优划分属性为心情

e8c3566d286fb8980cc191b95a707485.png

然后分别在心情属性的每个具体情况下的分类是否全部为同一种,若为同一种则该节点标记为此类别,

这里我们在心情好的情况下不管什么天气结果都是出门所以,有了

20df138f62d57339186eee9b37291a1c.png

心情不好的情况下有不同的分类结果,继续计算在心情不好的情况下,其它属性的信息增益,

把信息增益最大的属性作为这个分支节点,这个我们只有天气这个属性,那么这个节点就是天气了,

天气属性有两种情况,如下图

0b88f345cba5151ef1f1ac6375fd04b6.png

在心情不好并且天气好的情况下,若分类全为同一种,则改节点标记为此类别</

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值