机器学习|决策树|如何计算信息增益|方法总结

如是我闻 :那你说决策树这块还能考点啥呢,也就是算算属性的信息增益(Information Gain)了,

信息增益是一种评估特征(属性)在分类任务中重要性的方法,它基于熵的概念来计算。熵是一个衡量数据集中不确定性或混乱程度的指标。信息增益则是衡量在知道某个属性的信息之后,数据集不确定性减少的程度

下面我们通过一道小练习题来用心感受一下这类题:

问题描述

在这个问题中,数据集包含了三个特征(A、B、C)和一个分类标签,任务是计算属性A对于分类结果的信息增益值,以此评估A在预测结果中的有效性和重要性。

原始数据:

A B C 标签 (L)
1 1 0 1
1 1 1 2
0 0 1 1
0 1 1 1

解题步骤

信息增益的计算过程分为三个主要步骤:

  1. 计算整体数据集的熵(Initial Entropy)
  2. 计算在特定属性条件下的条件熵(Conditional Entropy)
  3. 计算信息增益(Information Gain)

步骤 1: 计算整体数据集的熵(Initial Entropy)

数据使用:
  • 标签有三个1和一个2。
计算方法:
  • 概率
    • P ( L = 1 ) = 3 4 P(\text{L}=1) = \frac{3}{4} P(L=1)=43
    • P ( L = 2 ) = 1 4 P(\text{L}=2) = \frac{1}{4} P(L=2)=41
  • 熵公式
    • H ( L ) = − ( 3 4 log ⁡ 2 3 4 + 1 4 log ⁡ 2 1 4 ) = 0.811 H(\text{L}) = -\left(\frac{3}{4}\log_2\frac{3}{4} + \frac{1}{4}\log_2\frac{1}{4}\right)=0.811 H(L)=(43log243+41log241)=0.811
为什么要这么做

熵是衡量数据集混乱程度的指标。这一步提供了一个基准,让我们可以比较是否属性的选择能降低这种混乱程度。

步骤 2: 计算属性 A 的条件熵(Conditional Entropy)

数据使用:
  • A = 1 A=1 A=1 时:有两个结果,一个是1,另一个是2。
  • A = 0 A=0 A=0 时:有两个结果,都是1。
计算方法:
  • A = 1 A=1 A=1
    • P ( L = 1 ∣ A = 1 ) = 1 2 P(\text{L}=1 | A=1) = \frac{1}{2} P(L=1∣A=1)=21
    • P ( L = 2 ∣ A = 1 ) = 1 2 P(\text{L}=2 | A=1) = \frac{1}{2} P(L=2∣A=1)=21
    • H ( L ∣ A = 1 ) = − ( 1 2 log ⁡ 2 1 2 + 1 2 log ⁡ 2 1 2 ) = 1.0 H(\text{L}|A=1) = -\left(\frac{1}{2}\log_2\frac{1}{2} + \frac{1}{2}\log_2\frac{1}{2}\right)=1.0 H(LA=1)=(21log221+21log221)=1.0
  • A = 0 A=0 A=0
    • P ( L = 1 ∣ A = 0 ) = 1 P(\text{L}=1 | A=0) = 1 P(L=1∣A=0)=1
    • H ( L ∣ A = 0 ) = − ( 1 log ⁡ 2 1 ) = 0 H(\text{L}|A=0) = -(1\log_21) = 0 H(LA=0)=(1log21)=0 (所有结果都是1,所以熵为0)
为什么要这么做

条件熵 H ( L ∣ A ) H(\text{L}|A) H(LA) 表示已知属性 A 的值后,结果的不确定性。计算这个值是为了评估知道 A 后不确定性减少了多少。

步骤 3: 计算信息增益(Information Gain)

计算方法:
  • 信息增益公式
    • I G ( A ) = H ( L ) − H ( L ∣ A ) = 0.311 IG(A) = H(\text{L}) - H(\text{L}|A)=0.311 IG(A)=H(L)H(LA)=0.311
    • H ( L ∣ A ) = 1 2 H ( L ∣ A = 1 ) + 1 2 H ( L ∣ A = 0 ) = 0.5 H(\text{L}|A) = \frac{1}{2}H(\text{L}|A=1) + \frac{1}{2}H(\text{L}|A=0) =0.5 H(LA)=21H(LA=1)+21H(LA=0)=0.5
为什么要这么做

信息增益测量了在知道属性 A 的值之后,结果的不确定性减少了多少。如果信息增益高,意味着该属性在分类时非常有用,因为它能显著降低不确定性。

通过这种方式,我们计算得出属性 A 的信息增益为 0.311,显示它是一个对于降低结果预测不确定性有效的属性。下面开始技术总结

解题步骤总结

步骤 1: 理解数据和定义目标

  • 数据理解:首先,明确每个属性和结果类别的数据结构和分布。
  • 目标定义:明确你需要计算的是哪个属性的信息增益,以及最终目的是什么(例如,选择最好的属性进行数据分割)。

步骤 2: 计算整体数据集的熵

  • 计算概率:为数据集中每个结果类别计算概率。
  • 应用熵公式
    H ( X ) = − ∑ i = 1 n p i log ⁡ 2 ( p i ) H(X) = -\sum_{i=1}^{n} p_i \log_2(p_i) H(X)=i=1npilog2(pi)
    其中 p i p_i pi是第 i i i类结果的概率。

步骤 3: 计算条件熵

  • 分组数据:根据要计算信息增益的属性,将数据分成几组。
  • 计算每组的熵:对每个分组,再次计算结果的概率和熵。
  • 计算加权平均的条件熵
    H ( X ∣ A ) = ∑ j P ( A = a j ) H ( X ∣ A = a j ) H(X|A) = \sum_{j} P(A=a_j) H(X|A=a_j) H(XA)=jP(A=aj)H(XA=aj)
    其中 a j a_j aj 是属性 A A A 的第 j j j个值, P ( A = a j ) P(A=a_j) P(A=aj) 是该值在数据集中的概率。

步骤 4: 计算信息增益

  • 应用信息增益公式
    I G ( A ) = H ( X ) − H ( X ∣ A ) IG(A) = H(X) - H(X|A) IG(A)=H(X)H(XA)
    这里, I G ( A ) IG(A) IG(A) 是属性 A A A 的信息增益, H ( X ) H(X) H(X) 是数据集的熵, H ( X ∣ A ) H(X|A) H(XA) 是条件熵。

步骤 5: 解析和决策

  • 比较和选择:如果比较多个属性的信息增益,选择信息增益最高的属性,因为它最能减少不确定性,最适合用来分割数据。

相信有了这个总结之后,小朋友们就再也不用怕决策树算信息增益的问题啦

非常的有品

以上

相关推荐

  1. 机器学习-决策

    2024-04-20 10:08:10       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-20 10:08:10       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-20 10:08:10       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-20 10:08:10       82 阅读
  4. Python语言-面向对象

    2024-04-20 10:08:10       91 阅读

热门阅读

  1. Python 12306抢票脚本

    2024-04-20 10:08:10       31 阅读
  2. 功能强大的开源数据中台系统 DataCap 2024.03.3 发布

    2024-04-20 10:08:10       33 阅读
  3. 力扣练习题(2024/4/19)

    2024-04-20 10:08:10       29 阅读
  4. leetcode705-Design HashSet

    2024-04-20 10:08:10       207 阅读
  5. Unity发布webgl之后打开streamingAssets中的html文件

    2024-04-20 10:08:10       52 阅读
  6. vue3、vue2中nextTick源码解析

    2024-04-20 10:08:10       50 阅读