Machine Learning---决策树

Machine Learning---决策树

引言

决策树(Decision Trees),一个非常经典的监督式学习案例。

一、决策树基本介绍

1.决策树

在建立决策树时候,计算机使用已分类的数据,建立一个具有预测功能的树形结构。

建立决策树有许多种算法,这里我只介绍ID3算法。

2.核心算法

在建立决策树的时候,首先要选出哪一个属性作为最重要的属性,成为决策树的根节点。这里将用到信息理论中的一个概念:熵(entropy)。具体计算使用下面的公式。

 

对于这个公式我稍作解释。其中p(I)便是在集合S中属于类型I样本的比例。

如果S中所有的样本都属于I的话,P(I)便是1,所以,这也表示集合S是纯净的。

 

公式2便是信息增量,用于决定那个属性作为决策树的根节点。其中Gain越大的属性便是根节点。这个公式可以从第二节的例子中得到解释。

   

二、决策树例子

表2.1

上表中包含八个样本,通过此表我们如何建立决策树?首先向计算出决策树的根节点,这样就要计算天气、身体状况和工作量的信息增益(Information Gain)。

取其中最大信息增益的条件。

首先计算


其中晴天的熵计算,其中天气为晴天的有两个样本,在这两个样本中,有两个行为结果。

同样方式计算阴天和雨天的熵


所以得到

同样的方法可以计算出另外两个(身体状况和工作量)的信息增益


三个条件计算完毕,得出天气和身体两个条件的信息增益是一样的,都比工作量大,我们这里就取天气作为根节点(当然也可以取身体)。我们已经找到了决策树的根节点,但是任务还没有完成。我们要开始建立三棵子树。


晴天条件下

身体状况(Health)

工作量(Wordload)

行为(Behavior)

良好

轻松

打球

糟糕

繁重

不打球

表2.2 

阴天条件

身体状况(Health)

工作量(Wordload)

行为(Behavior)

良好

轻松

打球

糟糕

轻松

不打球

表2.3 

雨天条件

身体状况(Health)

工作量(Wordload)

行为(Behavior)

良好

轻松

不打球

良好

繁重

不打球

糟糕

轻松

不打球

糟糕

繁重

不打球

表2.4

 按照一开始介绍的方法,分别为上面三张表找决策树的根节点(信息增益最大的条件)。就这样不断递归建立。

三、总结

建立决策树的方法有很多种,这里我使用的是ID3算法,另外还有C4.5和C5.0算法。这里就暂时不介绍了。

如果上面有计算错误之处,敬请指出。因为在CSDN这个博客编辑器中,上面出现的公式是无法显示出来的,所以我选择了截图,效果

可能不是很理想也请见谅。

 

如果有兴趣的可以留言,一起交流一下算法学习的心得。


声明:本文章是笔者整理资料所得原创文章,如转载需注明出处,谢谢。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值