机器学习_决策树计算原理

一. 计算所需知识引入

1、各类信息熵的定义

在这里插入图片描述

2、概念引入

虽然有这么多的定义,但我们平时很多情况下用的都是香农信息熵,所以接下来我也采用香农信息熵对下面的其他定义进行表述。
在这里插入图片描述

1)信息熵

信息熵概念:
假设抛掷硬币,正反面概率都接近50%,那么我们不能很确定的判定银币下次抛掷是正面还是反面,此时信息熵就可以认为是1
假设扔铁球,铁球受重力影响一定会像下坠落,我们就很容易的判定铁球的方向是向下坠落,那么此时的信息熵就可以认为是0

当我们有了信息上的表达式,可以得出一个二分类的信息熵图像,如图所示:
在这里插入图片描述我们可以看到,这个图像所表达出来的和上面所举的例子完全对应,
当一件事情很容易判断(也就是X=1 or 0)的时候,信息熵Y就偏向0,
当一件事情很难判断(X=0.5)的时候,信息熵 Y就偏向1

2)条件信息熵(条件熵)

当有了信息熵后,我们可以引入条件信息熵的概念。

信息熵:预测变量的难度
条件信息熵:已知一个变量的条件后,预测另一个变量的难度
"即:在随机变量X的前提下,预测随机变量Y的难度"

例如:
在这里插入图片描述
变量X为是否要迟到,变量Y为上班方式:
X=是 ,Y都为打车,此时条件信息熵为0

计算公式为
在这里插入图片描述

3)信息增益

当有了条件信息熵后,我们可以引入信息增益的概念。

H(Y):信息熵——数据集整体的熵值(即为当我们一无所知是时,判断一件事情Y的难度)
H(Y|X):条件信息熵——当我们知道X条件后,判断该事情Y的难度
Gain(X,Y):信息增益——X条件对判断这件事情Y的难度的减小了多少

在这里插入图片描述

3、数据计算

在这里插入图片描述

1)寻找对目标Y信息增益最大的一个属性作为根节点

因为一个数据集的信息熵是固定的,并且,信息增益 = 信息熵 - 条件熵。所以这个问题就转化为条件熵最小的属性
根据2.2的条件信息熵公式,计算各个属性的条件信息熵:
在这里插入图片描述
通过计算,可以得到是否迟到这个属性的条件信息熵最小,那么我们将这个属性作为条件信息熵的跟节点:
在这里插入图片描述

2)寻找第二个条件信息熵最小的属性

当知道根节点的放置方法,那么第二个问题也就迎刃而解了,下面的节点防止哪个属性。
我们仅需将已经得到的节点看作一个新的根节点,利用最小化条件信息熵的方法即可。
去掉是否快迟到属性列,并只保留迟到为否的行得到如下表格:
在这里插入图片描述
然后再次计算条件熵:
在这里插入图片描述
可以看到天气因素的条件熵最小(为0),那么我们下一个节点就是天气因素。
此时我们就可以结束决策书的生长了:
因为我们在一直最小化条件熵,所以当我们发现所有特征的信息增益军很小,或者没有什么特征可以选择的时候就可以停止了。
至此该数据集的决策树便构建完毕,如图:
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
决策树算法是一种广泛应用于分类和回归的机器学习算法,它基于树形结构对样本进行分类或预测。决策树算法的主要思想是通过一系列的判断来对样本进行分类或预测。在决策树中,每个节点表示一个属性或特征,每个分支代表该属性或特征的一个取值,而每个叶子节点代表一个分类或预测结果。 决策树算法的训练过程主要包括以下步骤: 1. 特征选择:根据某种指标(如信息增益或基尼系数)选择最优的特征作为当前节点的分裂属性。 2. 决策树生成:根据选择的特征将数据集分成若干个子集,并递归地生成决策树。 3. 剪枝:通过剪枝操作来提高决策树的泛化性能。 决策树算法的优点包括易于理解和解释、计算复杂度较低、对缺失值不敏感等。但是,决策树算法也存在一些缺点,如容易出现过拟合、对离散数据敏感等。 下面是一个决策树算法的案例:假设我们要根据一个人的年龄、性别、教育程度和职业预测其收入水平(高于或低于50K)。首先,我们需要将这些特征进行编码,将其转换为数值型数据。然后,我们可以使用决策树算法对这些数据进行训练,并生成一个决策树模型。最后,我们可以使用该模型对新的数据进行分类或预测。例如,根据一个人的年龄、性别、教育程度和职业,我们可以使用决策树模型预测该人的收入水平。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值