首页 > 其他分享 >决策树构建

决策树构建

时间:2023-01-27 14:04:26浏览次数:57  
标签:增益 信息 ID3 算法 构建 信息熵 决策树


信息熵:

生活中的所见所闻,都接触到许许多多的信息,有的信息对我们有用,有的无用。如 “地球是自转的”,这条信息对我们没什么用,因为我们都知道,而且是确确实实是这样的。香农用信息熵的概念来描述信源的不确定度,变量的不确定性越大,熵也就越大。

 

在某个事件中,如果不发生的概率为0,那么可以确定信息熵为0,当发生的概率为1时,属于确定性事件,同样信息熵为0。只有当发生的概率为0.5 时,不确定程度则越大,熵也就越大。(如下图,x轴为发生的概率,y轴为熵)


决策树构建_决策树

 计算信息熵公式:(通常以2为对数底数)

 

决策树构建_信息熵_02

其中 p(xi) 代表随机事件X为 x的概率。

 

 条件熵:在满足某个条件下,随机变量的不确定性。

 

决策树构建_信息增益_03

信息增益:信息增益是特征选择的一个重要指标,表示在某个条件下,信息不确定性的减少程度。

简单来说:信息增益 = 信息熵 - 条件熵


信息增益率:信息增益率为信息增益与该特征的信息熵之比


 

决策树的构建,是基于 ID3算法 或 C4.5算法。


ID3算法:


分类预测算法,算法的核心是“ 信息熵”。ID3算法使用信息增益(Info-Gain),期望信息越小,信息增益越大,从而纯度越高,划分越好。ID3算法通过计算每个属性的 信息增益,认为信息增益高的是好属性,每次划分选取信息增益最高的属性为划分标准,重复这个过程,直至生成一个能完美分类训练样例的决策树。


1. 所有属性必须为离散量;


2. 所有的训练的所有属性必须有一个明确的值;


3. 相同的因素必须得到结论且训练例唯一;


 


C4.5算法:


C4.5是ID3的一个改进算法。


使用信息增益率(Gain-ratio)选择属性;


1. 在树构造过程中进行剪枝;


2. 对连续属性离散化处理;


3. 对不完整数据进行处理;


 


优点:易于理解,准确率高;


缺点:构造过程中对数据集独处顺序扫描排序,至算法效率低。内存足够容纳数据。


 

示例: 通过信息增益构建分类决策树


决策树构建_决策树_04

其中,Gender,Education,MarStatus,City 为分类特征,IsPay 为结果。IsPay  中, “no” 个数为9,“yes” 个数为11。

即概率 p(Ispay = no) = 9 / 20 ,  p(Ispay = yes) = 11 / 20, 套用信息熵公式,计算 IsPay 的信息熵。

 

决策树构建_决策树_05

结果为:E(IsPay) = 0.992774453987808

 

现在以性别为例,计算信息熵和信息增益:


决策树构建_决策树_06

男性的信息熵为:0.995727899051793

 

决策树构建_决策树_07

女性的信息熵为:0.863121148140382

 

决策树构建_信息增益_08

该性别平均熵为:0.949315536232799


决策树构建_决策树_09

信息增益为:0.043458917755009


决策树构建_决策树_10

 

 同样方法,将 Education,MarStatus,City 都计算出来,结果如下:

 

决策树构建_决策树_11

可以看到,学历 Education 的信息增益是最大的,数据集将以 Education 为条件,划分到三个子集。树型结构如下:


决策树构建_信息增益_12

数据集如下:


决策树构建_决策树_13

可以看到 学历为 “研究生” 的节点, Ispay 都为 “yes” ,纯度很高,不需要再划分了。即当学历为研究生时,Ispay=‘yes’ 的概率为1。

 

数的第一层确定了,现在构建第二层,已学历为大专为例。计算结果如下:

 

决策树构建_信息熵_14

在这个层级节点中, City 的信息增益最大,接下来将以城市来划分节点。

决策树构建结果如下:


决策树构建_信息增益_15

 

 

 更多参考:

​ch4.pdf-分类基本概念:决策树和模型评估​

​​数据挖掘十大经典算法--CART: 分类与回归树​​

​​机器学习之决策树算法​​

 信息熵:​​https://www.zhihu.com/question/22178202​

条件熵:​​https://www.zhihu.com/question/22104055​

信息增益:​​https://zhuanlan.zhihu.com/p/26551798​




标签:增益,信息,ID3,算法,构建,信息熵,决策树
From: https://blog.51cto.com/hzc2012/6024066

相关文章