决策树算法原理理解笔记

这篇博客详细解析了决策树算法的基础,包括信息熵、条件熵、信息增益和信息增益率等概念,并通过代码实例展示了ID3和C4.5算法的实现过程。
摘要由CSDN通过智能技术生成

决策树算法原理理解笔记

1、有关的几个概念

以下面的表格里的数据作为样本:

在这里插入图片描述

信息熵

信息熵 用于评估一个因素指标的重要程度,它可以解释为需要花费多少次判断,才可以消除概率事件的不确定性。

例如:一盏只有D = { on / off } 两种状态的灯,它需要1次判断才能对它的状态进行确定,而如果是一盏一直亮着的灯,则不需要判断就能确定它的状态,因此它的信息熵为0。

信息熵在数学意义上解释的公式如下:
在这里插入图片描述
样本的最终有两个分类结果:“是” 和 “否” ,因此样本总体的信息熵为:
在这里插入图片描述

条件熵

条件熵 表示在已知随机变量X的条件下,随机变量Y的不确定性

条件熵在数学意义上解释的公式如下:
在这里插入图片描述
在样本中Y = { 是,否 },例如把性格类别作为第一次分类,性格类别有2个属性X = { 不好,好 }

在这里插入图片描述
因此,两个属性对应信息熵分别为:

在这里插入图片描述
在这里插入图片描述
两个属性发生的概率为:
在这里插入图片描述
在这里插入图片描述
所以性格类别对应的条件熵为:
在这里插入图片描述

信息增益

如何选择分类的类别,需要看信息增益。信息增益越大,该类别对分类结果的影响也越大。
它可以解释为:引入某个条件后,不确定性减小了,信息增益越大,说明引入的条件能更好的消除不确定性。

信息增益在数学意义上解释的公式如下:
在这里插入图片描述
所以,在样本中,第一次分类的性格类别对应的信息增益为:
在这里插入图片描述
根据信息增益进行决策的过程,称为 ID3 决策树算法。

信息增益率

信息增益这个指标有一定的缺点,它天然偏向于选择那些分支比较多的类别。
这种偏向性是必须消除的,因此提出了另一个指标:信息增益率。

信息增益率在数学意义上解释的公式如下:
在这里插入图片描述
g(D,A)是标签分类信息熵,也就是之前计算过的信息增益。
SplitInfo(A)是子集划分信息熵,可以视作划分多个分支所需要花费的成本。
在这里插入图片描述
根据信息增益率进行决策的过程,称为 C4.5 决策树算法。

2、代码实例

数据集

在这里插入图片描述

决策树

在这里插入图片描述

基本代码部分

构造数据集
#构造数据集
#下面是类别      下面是各类别的属性
#年龄Age: 小于30为0  30~40为1  大于40为2
#收入Income: 低为0  中等为1  高为2
#工作性质Job: 不稳定为0  稳定为1
#信用评分Credit:  差为0  好为1
#购买决策Y/N
def createDataSet():
    dataSet = [[0, 2, 0, 0, 'N'], 
               [0, 2, 0, 1, 'N'], 
               [1, 2, 0, 0, 'Y'], 
               [2, 1, 0, 0, 'Y'], 
               [2, 0, 1, 0, 'Y'], 
               [2,
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值