一、先明确基础概念

  1. 熵(H):衡量数据的不确定性,值越大,数据越混乱(类别越不集中)。 公式:\(H(X) = -\sum_{i=1}^{n} p_i \log_2(p_i)\) 其中:\(p_i\) 是第 i 类样本在总样本中的占比(\(0 \leq p_i \leq 1\))。

  2. 信息增益(IG):衡量某特征对降低不确定性的贡献,值越大,该特征越适合作为当前节点的划分依据。 公式:\(IG = 初始熵 - 按该特征划分后的加权熵\)二、用课堂练习数据集实战计算

  3. 数据集回顾(5 个样本):
    样本 不浮出水面是否生存(特征 A) 是否有脚蹼(特征 B) 属于鱼类(标签:1 = 是,0 = 否)
    1 1
    2 1
    3 0
    4 0
    5 0

    步骤 1:计算初始熵(未划分时的总熵)

    步骤 1:计算初始熵(未划分时的总熵)

  4. 总样本数:5
  5. 属于鱼类(1):2 个 → 占比 \(p_1 = 2/5 = 0.4\)
  6. 不属于鱼类(0):3 个 → 占比 \(p_0 = 3/5 = 0.6\)
  7.  

    代入熵公式

  8.  

    步骤 2:按特征 A(不浮出水面是否生存)计算信息增益

  9. 第三步:计算按特征 A 划分后的加权熵

    加权熵 = (分支 1 样本占比 × H1) + (分支 2 样本占比 × H2)

  10. 分支 1(A=“是”)占比:3/5;分支 2(A=“否”)占比:2/5

  11. 第四步:计算特征 A 的信息增益
     

    步骤 3:按特征 B(是否有脚蹼)计算信息增益(方法同上)

    第一步:按特征 B 的取值划分样本
  12. B=“是”:样本 1、2、4(共 3 个)
    • 属于鱼类(1):2 个,不属于(0):1 个
  13. B=“否”:样本 3、5(共 2 个)
    • 属于鱼类(1):0 个,不属于(0):2 个
  14. 第二步:计算各分支的熵
  15. B=“是” 的熵(H3): 和 A=“是” 的计算相同(样本分布一致),\(H3 \approx 0.918\)

  16. B=“否” 的熵(H4): 和 A=“否” 的计算相同,\(H4 = 0\)

  17. 分支 1(B=“是”)占比:3/5;分支 2(B=“否”)占比:2/5

  18. 结论

    特征 A 和特征 B 的信息增益相同(均为 0.420),因此均可作为根节点。实际中可任选其一,再递归划分下一级节点(如前面构建的决策树)。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐