《数据挖掘:理论与算法》学习笔记(五)—决策树

决策树模型

决策树是一种用于对实例进行分类的树形结构。决策树由节点(node)和有向边(directed edge)组成。节点的类型有两种:内部节点和叶子节点。其中,内部节点表示一个特征或属性的测试条件(用于分开具有不同特性的记录),叶子节点表示一个分类。

在这里插入图片描述
一旦我们构造了一个决策树模型,以它为基础来进行分类将是非常容易的。具体做法是,从根节点开始,地实例的某一特征进行测试,根据测试结构将实例分配到其子节点;沿着该分支可能达到叶子节点或者到达另一个内部节点时,那么就使用新的测试条件递归执行下去,直到抵达一个叶子节点。当到达叶子节点时,我们便得到了最终的分类结果。

对于决策树算法,我们需要注意以下几点:

  • 对于同一个数据集,我们可以构造出不同的决策树
  • 较为简单的决策树通常效果更好
  • 一般推荐区分度强的在第一个数根,叶节点作为补充。

决策树算法

ID3算法
ID3算法是决策树的一种,它是基于奥卡姆剃刀原理的,即用尽量用较少的东西做更多的事。越是小型的决策树越优于大的决策树。

在信息论中,期望信息越小,那么信息增益就越大,从而纯度就越高。ID3算法的核心思想就是以信息增益来度量属性的选择,选择分裂后信息增益最大的属性进行分裂。该算法采用自顶向下的贪婪搜索遍历可能的决策空间。

熵:“熵”就是关于不确定性的一个极好的数学描述
熵的计算公式如下:
在这里插入图片描述
例子:
在这里插入图片描述
在上面的例子中,事件S的不确定性达到了0.940
加入属性A的判断后,事件S的不确定性会下降,而 Gain(S,A) 我们称之为信息增益。也就是加入属性A的判断,会把事件S的不确定性降低的程度。
在这里插入图片描述
例如,在上图中,加入District 属性带来的信息增益为 0.247 ,而加入 Income 属性带来的信息增益为 0.152 ,所以我们更偏向于选择District 属性。

ID3算法的核心问题是选取在树的每个节点要测试的属性

ID3算法框架
建树—递归结构
在这里插入图片描述
例子如下
在这里插入图片描述
防止过拟合的方法
1、提前停止树的生长
2、进行剪枝

其中第一种方法更直观,但精确地估计何时停止树增长很困难
第二种方法被证明在实践中更成功
在这里插入图片描述
熵的偏差
下面是一个惩罚公式,分子是 Gain(S,A),而分母是分裂的特征个数,作为一种有效的惩罚措施。
比如,单纯的按生日辨别男女,Gain(S,A) 很大,entrpy为0,但是这给系统一个错误的细化特征的倾向,实际上,每个人一条规则肯定是不合适的。
在这里插入图片描述

 

参考文献:清华大学-数据挖掘:理论与算法(国家级精品课)

 

posted @ 2020-12-13 11:05  Chen洋  阅读(198)  评论(0编辑  收藏  举报