决策树的原理及构建(基于ID3算法)

决策树原理

决策树(Decision Tree)是根据一系列规则对数据进行分类的过程。实际上决策树的生成过程就是使用满足划分准则的特征不断的将数据集划分为纯度更高,不确定性更小的子集的过程。对于当前数据集的每一次的划分,都希望根据某特征划分之后的各个子集的纯度更高,不确定性更小。在学习之前先了解几个概念。
信息量:
香农被称为“信息论之父”,他认为“信息就是用来消除不确定的性的东西”,也就是信息量越大,不确定性就越小,信息量的大小与事件发生的概率成反比。
信息量的公式为:l(x)= -log2P(x) ,其中P(x)为事件发生的概率。

熵也叫香农熵,指的是所有可能发生事件所带来的信息量的期望。也可以理解为熵描述的是信息的无序程度,信息越无序,熵越大。
在这里插入图片描述
P(xi)表示Xi事件发生的概率,n为X中所有类别的个数。
信息增益

信息增益实际上就指的是数据集被划分前后熵的差值,在决策数据中使用信息增益来决定使用哪个数据特征值作为节点进行分割,在决策树构建的过程中我们总是希望当前集合往最快到达纯度更高的子集合方向发展,因此我们总是选择使得信息增益最大的特征来划分当前数据集。
信息增益 = 熵(前) - 熵(后)
在这里插入图片描述

决策树的构建

基于ID3算法的决策树实现
在这里插入图片描述
表中共有四个属性:天气、温度、湿度、风速。2个类别标签,典型的二分类问题。
10个样本中,“是”的标签有6个,“否”的标签有4个,
1.计算当前熵E = - 6/10 * log2(6/10) + -4/10 * log2(4/10)
根据熵的计算公式,对每个属性分别计算其对应的信息熵。
2.以“天气”为例,该属性共有3中取值。
“晴”出现3次,其中“是”标签有2个,“否”标签有1个,则天气为晴是对应的信息熵为:
E(天气|晴)=3/10 * [- 2/3 * log2(2/3) + -1/3 * log2(1/3)]
E(天气|阴)=
E(天气|雨)=
以下同理…
3.基于“天气”划分数据集,对应总的信息熵为:
E(天气) = E(天气|晴) + E(天气|阴) + E(天气|雨)
4.对应的信息增益为:
G(天气) = E - E(天气)
同理,求出其他几个属性的信息熵,信息增益。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不要香菜哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值