机器学习算法——决策树(ID3、C4.5和CART算法总结)

概述:本文简要总结了决策树的三种算法(ID3、C4.5和CART算法)的原理、算法特点以及应用场景。

一、 决策树是什么

决策树是基于人们总结经验的树状决策图,是一种基本的分类和回归算法。

二、决策树的原理

1、 构造原理,如何构造出一个决策树,即选择哪些属性分别作为根节点、中间节点以及叶节点

2、剪枝原理,即给决策树瘦身,把对分类效果促进不明显的节点取掉的过程,分为前剪枝和后剪枝两种。

  • 前剪枝,即在构造决策树的过程中就进行剪枝。
  • 后剪枝,即将决策树构造完毕后再进行剪枝。

如何确定各个节点

1、根节点、中间节点以及叶节点的确定是基于纯度信息熵

2、 决策树构造的过程就是寻找纯净划分的过程,数学上用纯度表示,纯度亦即是让目标变量最小

3、信息熵(entropy)是对信息不确定度的衡量。当不确定性越大时,信息所包含的信息量也就越大,信息熵也就越高。其计算公式:
在这里插入图片描述
其中,公式中P(i|t)表示节点t在分类i的概率。

4、信息熵越大,纯度越低。当一个集合中所有样本均匀混合时,信息熵最大,纯度最低。

5、 我们基于纯度来构建决策树,但要计算不纯度来选择各个节点。根据不纯度的指标,可以决策树算法可以分为

  • 基于信息增益的ID3算法
  • 基于信息增益率的C4.5算法
  • 基于基尼指数的CART分类树和基于绝对误差或方差的CART回归树

三个决策树算法

ID3算法

1、 ID3算法是基于信息增益计算的,信息增益是指划分可以带来纯度的提高,信息熵的下降。

2、信息增益计算:是父亲节点和信息熵减去所以子结点的加权信息熵,这个权重系数为每个子结点在父节点出现的概率,即每个子结点的归一化信息熵。

3、计算公式:在这里插入图片描述

4、计算每个属性的信息增益,选择信息增益最大的作为根节点即可,其他节点选择也类似。

5、 ID3算法的特点

  • 优点:算法简单,可解释性强;
  • 缺点:对噪声敏感,且倾向于选择取值比较多的属性,尽管某些属性可能对分类任务没有太大的作用,但依然被选作最优属性。

C4.5算法

1、C4.5算法是ID3算法的改进,具体的,有以下四方面的改进:

  • 采用信息增益率而非信息增益,解决了ID3倾向于选择取值多属性的问题。信息增益率=信息增益/属性熵

  • 采用悲观剪枝(属于后剪枝技术),通过递归估算每个内部节点的分类错误率来判断是否对其进行剪枝,这种剪枝方法不再需要一个单独的测试数据集,解决了ID3构造决策树容易产生过拟合的情况,提升了决策树的泛化能力。

  • C4.5算法通过选择具有最高信息增益的划分所对应的阈值,可以离散化处理连续属性

  • 针对数据集不完整情况,即存在缺失值,C4.5可以进行处理,乘以加权系数即可。

2、 C4.5算法的特点:

  • 优点:C4.5算法在ID3算法的基础上,用信息增益率代替了信息增益,解决了噪声敏感的问题;并且可以对构造树进行剪枝、处理连续属性以及数值缺失等情况;
  • 缺点:C4.5算法需要对数据集进行多次扫面,算法效率相对较低。

CART算法

1、 CART算法,Classification and Regression Tree,即分类回归树。ID3算法和C4.5算法既可以生成二叉树,又可以生成多叉树,但CART只支持二叉树。

2、CART算法既可以做分类树,又可以做回归树。

CART分类树

1.、CART分类树是基于基尼系数(GINI)来构造决策分类树的,基尼系数反映了样本的不确定度,当基尼系数越小的时候,说明样本之间的差异性小,不确定程度低,而分类是一个不确定程度降低的过程,即纯度提升的过程,因此,构造决策树时要选择基尼系数最小的属性作为属性的划分

2、 基尼系数计算公式:在这里插入图片描述
其中,P(Ck|t)表示节点t属于类别Ck的概率。

3、父节点的基尼系数计算公式:在这里插入图片描述
其中,归一化基尼系数(权重系数)是每个子结点在整体父节点中出现的概率。

CART回归树

1、CART回归树评判不纯度的指标是样本的混乱程度,即样本的离散程度来评价不纯度
2、样本离散程度有两种衡量方式:

  • 最下绝对偏差(LAD),即样本值减去样本均值的绝对值,计算公式:|x-μ|
  • 最小二乘偏差(LSD),即为样本的方差,计算公式:在这里插入图片描述

最后,决策树分类应用场景非常广泛,如金融行业可以用决策树做贷款风险评估,医疗行业可以用决策树生成辅助诊断,电商行业可以用决策树对销售额进行预测等。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值