机器学习算法之决策树

决策树是一种基于树状结构进行决策的机器学习算法,适用于分类问题。本文介绍了决策树的基本概念,包括如何构造决策树,以及最优划分属性选择方法如信息增益、增益率和基尼指数。此外,还探讨了连续值处理和如何用Python实现C4.5决策树。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

决策树是机器学习最基础的算法之一,基于决策树可衍生出AdaBoostTree随机森林GBDT等高级算法。本文重点介绍决策树的构造原理及应用。

1. 什么是决策树

举一个简单的例子,我们在挑选西瓜的时候,如何判断一个西瓜是否好西瓜,有经验的人都知道可以看西瓜的纹理、根蒂、色泽和触感等。

挑选西瓜决策树

上图就是一棵决策树,也就是一个包含有根节点、分支节点、叶节点的树状结构,叶节点为类别标签。在挑选西瓜的时候,如果带着上面这棵决策树,挑选西瓜的流程就可以是这样:
* step1: 观察西瓜的纹理,如果纹理模糊就可以认为是坏瓜,否则进一步观察;
* step2: 如果纹理稍微模糊,则看西瓜的触感,如果触感硬滑则是好瓜,如果触感软粘则是坏瓜;如果为例清晰,则看根蒂,如果根蒂蜷缩则为好瓜,如果根蒂硬挺则为坏瓜,如果根蒂稍蜷,则再进一步观察;
* step3: 看西瓜的色泽,如果是青绿色则为好瓜,如果是浅白色则为坏瓜,如果为乌黑色则再进一步观察;
* step: 看西瓜的触感,如果触感硬滑则为好瓜,如果触感软粘则为坏瓜。

如果在买西瓜的时候能有这样一棵决策树仅根据西瓜的纹理、根蒂、色泽和触感便能准确判断西瓜的好坏,再也不用担心买到坏瓜啦!但是,这样一棵决策树是如何得来的呢?为什么首先判断西瓜的纹理而不是色泽或触感呢?为什么说纹理模糊的就是坏瓜呢?接下来将详细介绍决策树的构造原理和过程。

2. 如何构造决策树

给定数据集 D={ (x1,y1),(x2,y2),...,(xm,ym)} yi 表示样本的类别,类似于卖西瓜例子中的“好瓜”和“坏瓜”,属性集(用于判断样本类别的维度,类似于上例中的纹理、触感等)为 A={ a1,a2,...,ad} ,决策树构造过程如下:

STEP1:如果D中样本全属于同一个类别C,则添加节点C,结束;否则进入STEP2。(此时得到的决策树仅包含一个节点,即将任何样本都判断为类别C。)
STEP2:如果属性集个数为空在每一个属性上面都取相同的值,则将D中样本数最多的类添加到节点中,算法结束;否则进入STEP3。
STEP3:选择最优划分属性 a ,对于 a 的每一个取值 av ,用 Dv 表示D中在 a 上对应取值 a

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值