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

一、ID3算法

  1. 原理

    • 信息熵(Entropy):信息熵用于衡量数据集的混乱程度。对于数据集 D D D,包含 n n n个类别标签,其信息熵 H ( D ) H(D) H(D)计算公式为:
      H ( D ) = − ∑ k = 1 n p k log ⁡ 2 p k H(D)=-\sum_{k = 1}^{n}p_k\log_2p_k H(D)=k=1npklog2pk
      其中 p k p_k pk是数据集中属于第 k k k类样本的比例。例如,在一个简单的天气分类数据集中(晴天、雨天、多云),若晴天样本占比 p 1 = 0.4 p_1 = 0.4 p1=0.4,雨天 p 2 = 0.3 p_2 = 0.3 p2=0.3,多云 p 3 = 0.3 p_3 = 0.3 p3=0.3,则信息熵 H ( D ) = − 0.4 log ⁡ 2 0.4 − 0.3 log ⁡ 2 0.3 − 0.3 log ⁡ 2 0.3 H(D)=-0.4\log_20.4 - 0.3\log_20.3-0.3\log_20.3 H(D)=0.4log20.40.3log20.30.3log20.3
    • 信息增益(Information Gain):用于衡量特征对数据集纯度的提升程度。假设数据集 D D D,属性 a a a V V V个不同取值 { a 1 , a 2 , ⋯   , a V } \{a^1,a^2,\cdots,a^V\} { a1,a2,,aV}。使用属性 a a a D D D进行划分,得到 V V V个子集 { D 1 , D 2 , ⋯   , D V } \{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 = 1 V ∣ D v ∣ ∣ D ∣ H ( D v ) 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算法引入信息增益比。首先计算属性 a a a的固有值 H a ( D ) H_a(D) Ha(D)
      H a ( D ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ log ⁡ 2 ∣ D v ∣ ∣ D ∣ H_a(D)=-\sum_{v = 1}^{V}\frac{|D^v|}{|D|}\log_2\frac{|D^v|}{|D|} Ha(D)=v=1VDDvlog2DDv
      信息增益比 g R ( D , a ) g_R(D,a) gR(D,a)计算公式为:
      g R ( D , a ) = g ( D , a ) H a ( 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):用于衡量数据集的纯度。对于数据集 D D D,基尼指数 G i n i ( D ) Gini(D) Gini(D)计算公式为:
      G i n i ( D ) = ∑ k = 1 n p k ( 1 − p k ) = 1 − ∑ k = 1 n p k 2 Gini(D)=\sum_{k = 1}^{n}p_k(1 - p_k)=1 - \sum_{k = 1}^{n}p_k^2 Gini(D)=k=1npk(1pk)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

rubyw

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

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

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

打赏作者

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

抵扣说明:

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

余额充值