机器学习实战:决策树--ID3算法实现

本文介绍了决策树的概念、结构,并详细阐述了ID3算法,包括信息熵、条件熵和信息增益等关键概念,以及如何通过信息增益选择最佳划分属性。还展示了算法的具体实现步骤,包括数据处理、信息增益计算和递归构建决策树。最后讨论了决策树的存储和使用。

一、决策树概念:本质是一棵树

结构分:【叶子节点(预测结果)】 和 【非叶子节点:内部节点(划分属性----特征)】

可以看做一个if-then规则的集合。我们从决策树的根结点到每一个都叶结点构建一条规则。

如:

数据:

决策树:

(图出自《机器学习》周志华)

属性划分可以选取任意一个特征来当作第一个划分的属性,如上图,第一个内部节点选取的是【纹理】这个特征.

但随便选取划分属性效率太低,所以,如何选取划分属性是决策树算法的关键。

所以,能最快的划分出叶子节点,使用尽量少的属性划分最好。

所谓分裂属性就是在某个节点处按照某一特征属性的不同划分构造不同的分支,其目标是让各个分裂子集尽可能地“纯”。尽可能“纯”就是尽量让一个分裂子集中待分类项属于同一类别。

根据不同的划分算法(判断“纯”的方法不同),可以分为ID3算法,C4.5算法以及CART算法。

《机器学习实战》决策树章节主要讲ID3算法。


二、ID3算法

在我们的ID3算法中,我们采取信息增益这个量来作为纯度的度量。我们选取使得信息增益最大的特征进行分裂。

信息熵是代表随机变量的复杂度(不确定度)通俗理解信息熵 - 知乎专栏,条件熵代表在某一个条件下,随机变量的复杂度(不确定度)通俗理解条件熵 - 知乎专栏

                                  信息增益=信息熵-条件熵

当前样本集合 D 中第 k 类样本所占的比例为 pk ,y是分类的数目,则 D 的信息熵定义为


•离散属性 a 有 V 个可能的取值 {a1,a2,…,aV};样本集合中,属性 a 上取值为 av 的样本集合,记为 Dv。

•用属性 a 对样本集 D 进行划分所获得的“信息增益”



•信息增益表示得知属性 a 的信息而使得样本集合不确定度减少的程度

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值