ID3、C4.5决策树

ID3

例子:打网球的最佳日子是什么?
考虑下面的数据集表。 给定“打网球”一栏作为目标属性,并指定诸如条件的天数示例:Outlook; 温度; 湿度; 风。 我们想知道打网球的最佳日子。

以下为14个训练样本

在这里插入图片描述
O 是 Outlook attribute
T 是 Temperature attribute
H 是 Humidity attribute
W 是 Wind attribute

https://serengil.wordpress.com/2017/11/20/a-step-by-step-id3-decision-tree-example/

#第一次迭代
第一次迭代时,我们需要知道哪个最佳属性被选为决策树的最高根。 为此,ID3将找到具有最大信息增益的最佳属性。 给定每个属性的信息增益:

attributes = [O, H, W, T]
G(x, O) = 0.246
G(x, H) = 0.151
G(x, W) = 0.048
G(x, T) = 0.029

因此,基于上面计算的信息增益,我们选择属性Outlook作为具有三个分支Sunny,Rain和Overcast的第一个根节点。 我们的决策树如下图所示。
在这里插入图片描述

#第二次迭代
我们想要检查Sunny分支的最佳属性。 请记住,新的x是行包含Sunny的值。
x = [x[0], x[1], x[7], x[8], x[10]]
attribute= [H, W, T]
G(x, H) = .970 - (3/5) * 0 - (2/5) * 0 = .970
G(x, T) = .970 - (2/5) * 0 - (2/5) * 1 = .570
G(x, W) = .970 - (2/5) * 1 - (3/5) * .918 = .019

因此,基于上面计算出的信息增益,我们选择属性Humidity作为分支Sunny中的属性。 我们的决策树如下图所示
在这里插入图片描述
#第三次迭代
下一个节点是湿度属性,它具有两个可能的值{High,Normal}。 分支“High”由单个标签(“No”)主导,导致该分支以叶子结束,包含标签“No”。与分支“Normal”(以叶子结束)的相同情况包含标签“Yes”。
在这里插入图片描述
#第四次迭代
所有行包含值Outcast的值都由单个标签Yes主导,因此以叶结尾的Overcast分支包含标签Yes。
在这里插入图片描述

#第五次迭代
我们想检查哪个是雨的最佳属性。 请记住,新的x是行包含Rain的值。

x = [x[3], x[4], x[5], x[9], x[13]]
attribute = [W, T]
G(x, W) = .970 - (2/5) * 0 - (3/5) * 0 = .970
G(x, T) = .970 - (0/5) * 0 - (3/5) * .918 - (2/5) * 1.0 = .019

因此,根据上面计算出的信息增益,我们选择属性Wind作为Rain分支中的属性。 我们的决策树如下图所示。
在这里插入图片描述
#第六次迭代
下一个节点是属性Wind,它具有两个可能的值{Weak,Strong}。 分支“Strong”由单个标签(“No”)主导,导致该分支以叶子结束,包含标签“No”。与分支“Weak”分支以叶子结尾的相同情况包含“Yes”。
在这里插入图片描述

最后由于我们决策树中的所有分支都以叶子结尾,因此没有迭代可言。ID3 决策树构建完成。

ID3算法代表“迭代二分法”,它是一种分类算法,它遵循贪婪的方法,即通过选择产生最大信息增益(IG)或最小熵(H)的最佳属性来构建决策树。

C4.5

决策树仍然是当今数据科学界的热门话题。 在此,ID3是最常见的常规决策树算法,但存在瓶颈。比如 属性必须是normal值,数据集不能包含丢失的数据,最后该算法倾向于陷入过度拟合。 在这里,ID3的发明者Ross Quinlan对这些瓶颈进行了一些改进,并创建了一个名为C4.5的新算法。 现在,该算法可以创建更通用的模型,包括连续数据,并且可以处理丢失的数据。 此外,一些资源(例如Weka)将此算法命名为J48。 实际上,它指的是C4.5版本8的重新实现。

C4.5算法在数据挖掘中用作决策树分类器,可用于基于数据的某些样本(单变量或多变量预测变量)生成决策。

决策树的概念请阅读之前文章。

核心思想

将基于每个特征的熵和信息增益比对找到决策规则。 在决策树的每个级别中,具有最大增益比率的特征将成为决策规则。

因此,C4.5算法解决了ID3中的大多数问题。 该算法使用增益比率而不是增益。 这样,它可以创建更通用的树,而不会落入过度拟合的状态。 此外,该算法基于增益最大化将连续属性转换为名义属性,从而可以处理连续数据。 此外,它可以忽略实例,包括丢失的数据并处理丢失的数据集。 另一方面,ID3和C4.5都需要较高的CPU和内存需求。 此外,大多数机构认为决策树算法是在数据挖掘领域而不是机器学习领域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值