假想的银行贷款客户历史(略去了客户姓名),包含14个样本。

可复制数据集在如下评论第一条!

现要求以这14个样本为训练数据集,以“提供贷款”为类标号属性,用ID3算法构造决策树。

第一步,初始数据集信息量

设数据集为D.类标号属性“提供贷款”有两个不同值:“是”和“否”,因此有两个不同的类。
令C1对应“是”,C2对应“否”,那么C1有9个样本,C2有5个样本,所有数据集D的熵为如下:

决策树之三:ID3.0算法实例1

决策树之三:ID3.0算法实例1

第二步,分别计算按各属性分裂后所得诸子集的熵的加权和。

若以“年龄”作为分裂属性,则产生3个子集(因为该属性有3个不同的取值),所以D按照属性“年龄”作为分裂属性,划分出的说3个子集的熵的加权和为如下:

决策树之三:ID3.0算法实例1

决策树之三:ID3.0算法实例1

因此,以“年龄”作为分裂属性来划分的信息增益为如下:
Gain(D,年龄)=I(s1,s2)-E(D,年龄)=0.9406-0.6936=0.247

同理,若以“收入水平”为分裂属性

决策树之三:ID3.0算法实例1

因此,以“收入水平”作为分裂属性划分的信息增益为如下:
Gain(D,收入水平)=I(s1,s2)-E(D,收入水平)=0.9406-0.9111=0.0295

决策树之三:ID3.0算法实例1

同理,若以“有固定收入”为分裂属性

决策树之三:ID3.0算法实例1

因此,以“有固定收入”作为分裂属性划分的信息增益为如下:
Gain(D,有固定收入)=I(s1,s2)-E(D,有固定收入)=0.9406-0.7886=0.152

决策树之三:ID3.0算法实例1

同理,若以“VIP”为分裂属性

决策树之三:ID3.0算法实例1

因此,以“VIP”作为分裂属性划分的信息增益为如下:
Gain(D,VIP)=I(s1,s2)-E(D,VIP)=0.94060.892159=0.0484

决策树之三:ID3.0算法实例1

由此可见,若以“年龄”作为分裂属性,所得信息增益最大。于是根据该属性的值,将数据集D分裂为3个子集:D1,D2,和D3,如下图所示

决策树之三:ID3.0算法实例1

在下图中,节点3中的全部样本都属于同一个类别,因此它成为叶子节点,不再分裂。采用同样的方法,分别对数据集D1和D3进行分裂,直到所得子集的全部样本属于同一个类别,得到全部叶子节点。最终得到的决策层树如下图所示:
决策树之三:ID3.0算法实例1


相关文章:

  • 2021-04-06
  • 2021-06-14
  • 2022-01-05
  • 2021-11-01
  • 2021-11-28
  • 2021-11-14
  • 2022-12-23
  • 2021-10-30
猜你喜欢
  • 2022-01-18
  • 2021-11-01
  • 2022-02-06
  • 2021-11-14
  • 2022-12-23
  • 2021-07-21
相关资源
相似解决方案