您的位置:首页 > 其它

Machine Learning---决策树

2015-06-30 09:36 351 查看


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

 按照一开始介绍的方法,分别为上面三张表找决策树的根节点(信息增益最大的条件)。就这样不断递归建立。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: