决策树(ID3,C4.5,CART)

决策树( I D 3 ID3 ID3 C 4.5 C4.5 C4.5 C A R T CART CART

每一个算法都从 四个方面介绍:思想,划分标准,减枝策略,优缺点

1. I D 3 ID3 ID3

1.1思想

基于信息熵的思想,我们都知道信息熵越大,样本的纯度就越低。 I D 3 ID3 ID3 算法的核心思想就是以信息增益来度量特征选择,选择信息增益最大的特征进行分裂,算法采用自顶向下的贪婪搜索遍历可能的决策树空间( C 4.5 C4.5 C4.5 也是贪婪搜索),其步骤如下:

  1. 初始化特征集合和数据集合
  2. 计算每一个数据集合的信息熵和所有特征的条件熵,选择信息增益最大的作为当前的决策节点。
  3. 更新数据集合,删掉之前所选择的特征,并按照特征划分不同的数据集合
  4. 重复2,3步骤,如子集包含单一特征,则划分为叶子结点
1.2 划分标准

I D 3 ID3 ID3 使用的分类标准是信息增益,它表示得知特征 A 的信息而使得样本集合不确定性减少的程度。,我们当然每一次选择特征都尽量是样本集合的不确定性减少的更多,这样才有利于更快的划分。于是我们每一次都选择信息增益最大的那个。

数据集的信息熵:

在这里插入图片描述

其中 C k C_k Ck表示集合第k类的样本数量。K代表样本的类别有多少个。

针对某一个特征,对于数据集 D D D的条件熵 H ( D ∣ A ) H(D|A) H(DA)为:

Alt

其中 D i D_i Di代表 D D D中特征 A A A取第 i i i个值的样本子集, D i k D_{ik} Dik表示 D i D_i Di中属于第 k k k类的样本子集。

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

Alt

信息增益越大表示使用特征 A 来划分所获得的“纯度提升越大”。

1.3 缺点
  • I D 3 ID3 ID3没有剪枝策略,容易导致过拟合
  • I D 3 ID3 ID3对于可取值数目较多的特征有所偏好,类似“编号”的特征,其信息增益为1
  • 只能用于处理离散分布的特征
  • 没有考虑缺失值
1.4 实例

在这里插入图片描述
在这里插入图片描述

2. C 4.5 C4.5 C4.5

C 4.5 C4.5 C4.5最大的特点就是克服了 I D 3 ID3 ID3对可取值数目多的特征有所偏重这一缺点,但他存在的问题是对可取值较少的特征有所偏好。

2.1思想

C 4.5 C4.5 C4.5是为了改进 I D 3 ID3 ID3,所以克服了 I D 3 ID3 ID3的某些缺点。

另外 C 4.5 C4.5 C4.5不仅能够处理离散属性,还能够处理连续属性。能够处理缺失值。具有剪枝策略。

1.处理连续属性

将连续特征离散化,假设n个样本的连续特征A有m个取值,C4.5将其排序,并取相邻的两样本值的平均值共m-1个划分点,分别计算以该划分点作为二元分类点时候的信息增益,并选取信息增益最大点的作为该连续特征的二元离散点。

2.对缺失值的处理

需要考虑两个问题:

问题一:在特征值缺失的情况下如何进行划分特征的选择?(即如何计算特征的信息增益率)

问题二:选定该划分特征,对于缺失该特征的样本如何处理?(即到底把这个样本划分到哪个结点里)

针对问题一, C 4.5 C4.5 C4.5的做法是:对于具有缺失值特征,用没有缺失的样本子集所占比重来折算。

针对问题二, C 4.5 C4.5 C4.5 的做法是:将该缺失样本同时划分到所以的子节点上面,不过要调整样本的权重值,其实也就是以不同概率划分到不同节点中。

2.2划分标准

利用信息增益率可以克服信息增益的缺点,其公式为

在这里插入图片描述

H A ( D ) H_A(D) HA(D)称为特征A的固有属性。

这里需要注意,信息增益率对可取值较少的特征有所偏好(分母越小,整体越大),因此 C 4.5 C4.5 C4.5 并不是直接用增益率最大的特征进行划分,而是使用一个启发式方法:先从候选划分特征中找到信息增益高于平均值的特征,再从中选择增益率最高的。

2.3 剪枝策略

剪枝是为了防止过拟合。

2.3.1预剪枝

在节点划分前来确定是否继续增长,及早停止增长的主要方法有:

  • 节点内数据样本低于某一阈值
  • 所有的特征都已经分裂
  • 节点划分前准确率比划分后准确率要高

预剪枝不仅可以降低过拟合的缺点还可以减少训练的时间,但是他可能带来欠拟合的风险。

2.3.2后剪枝

在已经生成的决策树上面进行剪枝,从而得到简化版的决策树了。

C 4.5 C4.5 C4.5采用的剪枝方法是,用递归的方式从低往上针对非叶子节点,评估一个最佳的叶子结点去代替这个非叶子节点是否有益。如果剪枝后比剪枝前错误率降低或者保持不变,则这棵子树就可以替换掉。 C 4.5 C4.5 C4.5 通过训练数据集上的错误分类数量来估算未知样本上的错误率。

后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。但同时训练时间大得多。

2.4缺点
  • C 4.5 C4.5 C4.5所用的是多叉树,用二叉树效率更高
  • C 4.5 C4.5 C4.5 使用的熵模型拥有大量耗时的对数运算,连续值还有排序运算;
  • C 4.5 C4.5 C4.5 在构造树的过程中,对数值属性值需要按照其大小进行排序,从中选择一个分割点,所以只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时,程序无法运行
2.5实例

在这里插入图片描述

3. C A R T CART CART

I D 3 ID3 ID3 C 4.5 C4.5 C4.5 虽然在对训练样本集的学习中可以尽可能的挖掘信息,但是其生成的决策树的分支和规模都比较大,CART算法的二分法可以简化决策树的规模,提高生成决策树的效率。

3.1思想

分裂过程是一个二叉递归划分的过程,其输入和预测特征既可以是连续的也可以是离散的,停止准则为:

  1. 当达到预定最大深度时,停止分裂节点并返回叶子节点。
  2. 当无法再划分数据集时,停止分裂节点并返回叶子节点。

剪枝采用代价复杂度剪枝

C A R T CART CART C 4.5 C4.5 C4.5的基础上进行了很多的提升。

  • C 4.5 C4.5 C4.5为多叉树,运算速度慢, C A R T CART CART为二叉树,运算速度快。
  • C 4.5 C4.5 C4.5只能分类, C A R T CART CART既可以分类也可以回归。
  • C A R T CART CART采用 G i n i Gini Gini系数作为变量的不纯度度量,减少了对数运算。
  • C A R T CART CART使用代理测试来估计缺失值, C 4.5 C4.5 C4.5以不同的概率划分到不同的节点中。
  • C A R T CART CART 采用“基于代价复杂度剪枝”方法进行剪枝,而 C 4.5 C4.5 C4.5 采用悲观剪枝方法。
3.2划分标准

熵模型拥有大量耗时的对数运算,基尼指数在简化模型的同时还保留了熵模型的优点。基尼指数代表了模型的不纯度,基尼系数越小,不纯度就越低,特征越好,这与信息增益相反。

在这里插入图片描述

其中k代表了类别。

基尼指数反映了从数据集中随机抽取两个样本,其类别标记不一致的概率。因此基尼指数越小,数据集纯度越高。基尼指数偏向于特征值较多的特征,类似信息增益。基尼指数主要测量的是一个随机样本集合中被错误分类的概率。而熵则是测量样本集合中信息量的多少,以及样本分布的不确定性程度。

3.3剪枝策略
3.4连续值怎么处理
3.5缺失值怎么处理
3.6实例

在这里插入图片描述

4.总结

  1. 划分标准的差异: I D 3 ID3 ID3采用信息增益进行划分, C 4.5 C4.5 C4.5采用信息增益率进行划分克服 I D 3 ID3 ID3对特征选择值比较多的偏好, C A R T CART CART采用基尼指数进行划分,克服 C 4.5 C4.5 C4.5计算量大的缺点。选择的标准是信息增益(率)越大越好,而基尼指数越小越好。
  2. 剪枝的策略的差异: I D 3 ID3 ID3没有剪枝策略, C 4.5 C4.5 C4.5是通过悲观剪枝策略来修正树的准确性,而 C A R T CART CART 是通过代价复杂度剪枝。
  3. 适用的场合的差异: I D 3 ID3 ID3 C 4.5 C4.5 C4.5只适用于分类,而 C A R T CART CART不仅可以用来分类还可以用来回归。 I D 3 ID3 ID3 C 4.5 C4.5 C4.5是多叉树计算比较慢,而 C A R T CART CART是二叉树计算比较快。
  4. 样本数据的差异: I D 3 ID3 ID3只能够处理离散的数据,且对缺失值比较敏感。 C 4.5 C4.5 C4.5 C A R T CART CART可以处理连续的值,而且可以处理缺失值。从样本数据量来考虑的话,小的样本适合采用 C 45 C45 C45,大的样本适合采用 C A R T CART CART
  5. 样本特征的差异: I D 3 ID3 ID3 C 4.5 C4.5 C4.5层级之间只使用一次特征,而 C A R T CART CART可多次重复使用特征。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
决策树是一种常用的机器学习算法,用于解决分类回归问题。其中,ID3C4.5和CART决策树的三种常见算法。 1. ID3算法(Iterative Dichotomiser 3): ID3算法是一种基于信息增益的决策树算法。它通过选择具有最大信息增益的特征来构建决策树。具体步骤如下: - 计算每个特征的信息增益,选择信息增益最大的特征作为当前节点的划分特征。 - 根据划分特征的取值将数据集分成多个子集。 - 对每个子集递归地应用上述步骤,构建子树。 - 直到满足终止条件,如所有样本属于同一类别或者没有更多特征可供选择。 2. C4.5算法C4.5算法ID3算法的改进版本,它使用信息增益比来选择划分特征。相比于ID3算法C4.5算法考虑了特征取值的多样性,能够处理连续型特征。具体步骤如下: - 计算每个特征的信息增益比,选择信息增益比最大的特征作为当前节点的划分特征。 - 根据划分特征的取值将数据集分成多个子集。 - 对每个子集递归地应用上述步骤,构建子树。 - 直到满足终止条件,如所有样本属于同一类别或者没有更多特征可供选择。 3. CART算法(Classification and Regression Trees): CART算法是一种用于分类回归决策树算法。它通过选择最优的划分特征和划分点来构建决策树。具体步骤如下: - 选择最优的划分特征和划分点,使得划分后的子集纯度最高(分类问题)或者方差最小(回归问题)。 - 根据划分特征和划分点将数据集分成多个子集。 - 对每个子集递归地应用上述步骤,构建子树。 - 直到满足终止条件,如所有样本属于同一类别或者达到预定的树深度。 对于代码实现,由于篇幅限制无法提供完整代码,但你可以在各种编程语言中找到相关的开源实现。你可以搜索相关的库或者参考机器学习教材中的示例代码来了解具体实现细节。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值