id3决策树算法例题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ID3决策树算法例题
简介
决策树是一种常见的机器学习算法,用于解决分类和回归问题。其中,ID3(Iterative Dichotomiser 3)决策树算法是最早被提出的决策树算法之一。本文将以一个例题为例,深入探讨ID3决策树算法的原理和应用。
例题描述
假设我们要根据以下特征来判断一个水果是苹果还是橘子: 1. 颜色:红、橙 2. 直径:大、中等、小 3. 纹理:平滑、凹凸
我们已经收集到了一些水果的样本数据,如下所示:
编号颜色直径纹理类别
1 红大平滑苹果
2 红大凹凸苹果
3 橙大平滑橘子
4 橙小平滑橘子
5 红中等平滑苹果
我们希望构建一个决策树模型,通过输入颜色、直径和纹理这3个特征,能够预测水果的类别。
ID3决策树算法原理
ID3决策树算法的核心思想是选择每次划分时信息增益最大的特征作为决策节点。它采用自顶向下的贪心策略,递归地构建决策树。下面详细介绍ID3算法的原理。
1. 计算信息熵
首先,我们需要计算每个特征的信息熵,以此来衡量特征对分类结果的纯度影响。信息熵的计算公式如下:
H (D )=−∑p i N
i=1
log 2p i
其中,H (D )表示数据集D 的信息熵,N 表示类别的个数,p i 表示类别i 在数据集D 中的比例。
2. 计算信息增益
接下来,对于每个特征A ,我们需要计算其信息增益Gain (D,A )。信息增益是指特征A 对于数据集D 的纯度提升程度,计算公式如下:
Gain (D,A )=H (D )−∑
|D v ||D |
V
v=1H (D v ) 其中,V 表示特征A 的取值个数,D v 表示特征A 取值为v 的样本子集。
3. 选择最佳划分特征
根据计算得到的信息增益,选择信息增益最大的特征作为决策节点。
4. 递归构建决策树
将选择的特征作为决策节点,以该特征的不同取值作为分支,递归地构建决策树。 计算步骤
根据上面的原理,我们来逐步计算示例中的决策树。
1. 计算初始数据集的信息熵H (D )
根据表格中的数据,我们可以计算出初始数据集的信息熵H (D ),其中苹果出现的
概率为35,橘子出现的概率为25。根据信息熵的计算公式,可以得到H (D )=
−(35log 235+25log 225)。 2. 计算每个特征的信息增益
接下来,我们需要计算每个特征的信息增益。
颜色特征
颜色特征有2个取值:红和橙。根据这两个取值分割数据集,我们计算出红色的水
果出现的概率为35,橙色的水果出现的概率为25,再根据信息熵的计算公式,可以得
到红色特征的信息熵H (D 红)=−(35log 235+25log 225)。
同样地,我们计算出橙色特征的信息熵H(D 橙)=−(15log 215+45log 245)。
根据信息增益的计算公式,我们可以得到颜色特征的信息增益Gain (D,颜色)=
H (D )−510H (D 红)−510H(D 橙)。 直径特征
直径特征有3个取值:大、中等、小。根据这3个取值分割数据集,我们可以计算
出大直径的水果出现的概率为25,中等直径的水果出现的概率为15,小直径的水果出
现的概率为25,再根据信息熵的计算公式,可以得到直径特征的信息熵H (D 大)=−(15log 215+45log 245)。
同样地,我们可以得到中等直径特征的信息熵H(D 中等)=−(15log 215+45log 245),小直径特征的信息熵H (D 小)=−(15log 215+45log 245)。
根据信息增益的计算公式,我们可以得到直径特征的信息增益Gain (D,直径)=
H (D )−510H (D 大)−210H(D 中等)−310H (D 小)。 纹理特征
纹理特征有2个取值:平滑和凹凸。根据这2个取值分割数据集,我们可以计算出
平滑纹理的水果出现的概率为45,凹凸纹理的水果出现的概率为15,再根据信息熵的
计算公式,可以得到纹理特征的信息熵H (D 平滑)=−(35log 235+25log 225)。 同样地,我们可以得到凹凸纹理特征的信息熵H (D 凹凸)=−(15log 215+45log 245)。 根据信息增益的计算公式,我们可以得到纹理特征的信息增益Gain (D,纹理)=
H (D )−510H (D 平滑)−510H (D 凹凸)。
3. 选择最佳划分特征
根据上面计算得到的信息增益,我们可以比较三个特征的信息增益大小,选择信息增益最大的特征作为决策节点。在这个例题中,直径特征的信息增益最大,因此我们选择直径作为决策节点。
4. 递归构建决策树
在选择了直径特征作为决策节点后,我们根据直径特征的不同取值(大、中等、小)划分数据集,得到三个子集。对于每个子集,我们可以再次计算特征的信息增益,并选择信息增益最大的特征作为该子集的决策节点。我们继续递归地进行这个过程,直到所有数据子集都属于同一类别或没有更多特征可供划分。
最终构建得到的决策树如下所示:
决策节点:直径
- 大
- 类别:苹果
- 中等
- 类别:苹果
- 小
- 纹理
- 平滑
- 类别:苹果
- 凹凸
- 类别:橘子
总结
本文以一个例题为例,详细介绍了ID3决策树算法的原理和应用过程。ID3算法是
一种自顶向下的贪心策略,通过计算信息增益来选择最佳划分特征,并根据划分特征递归构建决策树。通过这个例题,我们可以更加深入地理解ID3决策树算法的计算过程和决策树构建的原理。