机器学习:决策树算法:ID3、C4.5、CART、CHAID:原理、应用场景及优缺点

一、ID3算法

  1. 原理

    • 信息熵(Entropy):信息熵用于衡量数据集的混乱程度。对于数据集DDD,包含nnn个类别标签,其信息熵H(D)H(D)H(D)计算公式为:
      H(D)=−∑k=1npklog⁡2pkH(D)=-\sum_{k = 1}^{n}p_k\log_2p_kH(D)=k=1npklog2pk
      其中pkp_kpk是数据集中属于第kkk类样本的比例。例如,在一个简单的天气分类数据集中(晴天、雨天、多云),若晴天样本占比p1=0.4p_1 = 0.4p1=0.4,雨天p2=0.3p_2 = 0.3p2=0.3,多云p3=0.3p_3 = 0.3p3=0.3,则信息熵H(D)=−0.4log⁡20.4−0.3log⁡20.3−0.3log⁡20.3H(D)=-0.4\log_20.4 - 0.3\log_20.3-0.3\log_20.3H(D)=0.4log20.40.3log20.30.3log20.3
    • 信息增益(Information Gain):用于衡量特征对数据集纯度的提升程度。假设数据集DDD,属性aaaVVV个不同取值{ a1,a2,⋯ ,aV}\{a^1,a^2,\cdots,a^V\}{ a1,a2,,aV}。使用属性aaaDDD进行划分,得到VVV个子集{ D1,D2,⋯ ,DV}\{D^1,D^2,\cdots,D^V\}{ D1,D2,,DV}。信息增益g(D,a)g(D,a)g(D,a)计算公式为:
      g(D,a)=H(D)−∑v=1V∣Dv∣∣D∣H(Dv)g(D,a)=H(D)-\sum_{v = 1}^{V}\frac{|D^v|}{|D|}H(D^v)g(D,a)=H(D)v=1VDDvH(Dv)
      例如,在一个判断水果是苹果还是香蕉的数据集中,有“颜色”这个属性(红、绿)。若红色样本中苹果占比高,绿色样本中香蕉占比高,通过这个属性划分数据集后纯度提升,信息增益较大。
    • 构建树时,从根节点开始,计算每个特征的信息增益,选择信息增益最大的特征作为当前节点的划分特征。对于划分后的子集,重复此步骤,直到满足停止条件(如所有样本属于同一类别、没有可用于划分的特征或子集样本数量小于阈值)。
  2. 应用场景

    • 适用于处理离散型特征的分类问题。例如,在文本分类中,根据文章中的词汇(离散特征)判断文章所属类别(如体育类、科技类)。
  3. 优点

    • 算法简单易懂,容易实现。计算信息熵和信息增益的概念直观,能够很好地处理离散特征。
    • 对小规模数据表现良好,能快速构建决策树。
  4. 缺点

    • 倾向于选择取值较多的属性,可能导致过拟合。例如,一个特征有很多不同的值,每个值对应的类别比较单一,这个特征会被优先选择,但可能只是巧合,对新数据的泛化能力差。
    • 只能处理离散型属性,无法直接处理连续型属性。

二、C4.5算法

  1. 原理

    • 信息增益比(Gain Ratio):为了克服ID3算法倾向于选择取值较多属性的问题,C4.5算法引入信息增益比。首先计算属性aaa的固有值Ha(D)H_a(D)Ha(D)
      Ha(D)=−∑v=1V∣Dv∣∣D∣log⁡2∣Dv∣∣D∣H_a(D)=-\sum_{v = 1}^{V}\frac{|D^v|}{|D|}\log_2\frac{|D^v|}{|D|}Ha(D)=v=1VDDvlog2DDv
      信息增益比gR(D,a)g_R(D,a)gR(D,a)计算公式为:
      gR(D,a)=g(D,a)Ha(D)g_R(D,a)=\frac{g(D,a)}{H_a(D)}gR(D,a)=Ha(D)g(D,a)
      例如,在一个植物分类数据集中,有一个特征“叶子形状”有多种取值。通过计算信息增益比,可以更平衡地考虑这个特征的划分效果。
    • 树的构建过程与ID3类似,从根节点开始,计算每个特征的信息增益比,选择信息增益比最大的特征作为划分特征,在划分后的子集上重复此步骤,直到满足停止条件。
  2. 应用场景

    • 同ID3一样,主要用于分类问题,尤其在处理离散型特征的分类任务时表现出色。例如,在医疗诊断中,根据患者的症状(离散特征)判断疾病类型。
  3. 优点

    • 克服了ID3算法对取值较多属性的偏好,使得决策树的构建更加合理。
    • 能够处理离散型和连续型属性。对于连续型属性,先将其离散化,再进行处理。
  4. 缺点

    • 计算信息增益比相对复杂,算法效率比ID3稍低。
    • 连续型属性的离散化过程可能会丢失信息,影响决策树的性能。

三、CART算法(分类与回归树)

  1. 原理 - 分类任务

    • 基尼指数(Gini Index):用于衡量数据集的纯度。对于数据集DDD,基尼指数Gini(D)Gini(D)Gini(D)计算公式为:
      Gini(D)=∑k=1npk(1−pk)=1−∑k=1npk2Gini(D)=\sum_{k = 1}^{n}p_k(1 - p_k)=1 - \sum_{k = 1}^{n}p_k^2Gini(D)=k=1npk(1pk)=1k=1
### 决策树概述 决策树是一种常见的机器学习算法,广泛应用于分类和回归任务。它通过构建一棵树形结构来进行预测,每个内部节点表示在一个属性上的判断,分支代表该属性的不同取值,而叶子节点则保存最终的类别或数值。 决策树的优点包括易于理解和解释、无需对数据做很多预处理工作等;缺点在于容易过拟合训练集,并且对于连续型变量需要离散化处理。 ### 决策树的构造 构造一颗高效的决策树通常包含以下几个步骤: 1. **确定根节点**:从所有样本开始,在众多候选属性中挑选出最佳的一个作为当前结点划分依据。 2. **递归创建子节点**:按照选定条件将原始集合分割成若干个子集,并针对每一个新的小子集重复上述过程直至满足停止准则为止(例如达到最大深度限制或是不能再分)。 3. **终止条件设置**:当某一分支下的实例都属于同一类别时,则直接生成叶节点并标记其对应标签;如果剩余可用特征为空,则根据多数表决原则决定此位置应为何种结果。 ### 特征选择标准 为了找到最合适的切分规则,我们需要一些度量指标来评价各个属性的好坏程度,常用的有以下几种方法: - **信息增益 (Information Gain)**: 基于熵的概念计算得到,即某个属性能够带来的纯度提升量越大越好。 - **基尼指数 (Gini Index)** : 表示随机抽取两个样本它们不属于同一种类的概率大小,越小说明分布越均匀,也就是更纯净的状态。 - **增益率 (Gain Ratio)** :考虑了信息增益的基础上加入了惩罚因子避免偏向具有较多取值数目的特性。 ### 常用决策树算法 目前存在多种流行的决策树模型及其变体,主要包括但不限于: - ID3 (Iterative Dichotomiser 3) 算法 - 最早提出的经典版本之一; - C4.5 算法 - 改进自ID3,支持缺失值处理及连续属性等问题解决; - CART(Classification And Regression Trees) 模型 – 同时适用于分类和回归场景下; - CHAID(Chi-squared Automatic Interaction Detector)- 利用卡方检验统计学原理进行二元或多元素间关联分析指导分裂操作。 ### 决策树的剪枝 为了避免过度复杂而导致泛化能力下降的现象发生,“减枝”技术成为必要环节。主要有两种形式: - **先验式(pre-pruning)** ——提前设定某些阈值如最小样本数目、限定高度上限等手段阻止继续增长; - **后验式(post-pruning)**—— 先完整地生长完整棵树之后再回溯去除那些贡献较小的部分。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rubyw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值