当前位置: 首页 > ops >正文

8.18决策树

1. 决策树概述

  • 定义:决策树是一种树模型,用于分类和回归任务。它从根节点开始,通过一系列的特征选择和分支,最终到达叶子节点,给出决策结果。

  • 组成

    • 根节点:第一个选择点。

    • 非叶子节点与分支:中间过程,表示特征选择和分支。

    • 叶子节点:最终的决策结果。

2. 决策树的训练与测试

  • 训练阶段:从给定的训练集构造决策树,包括选择特征和特征切分。

  • 测试阶段:根据构造的树模型进行分类或回归任务,只需从上到下遍历树。

3. 如何切分特征(选择节点)

  • 目标:选择能够最好地切分数据的特征作为根节点,以提高分类效果。

  • 衡量标准:通过某种标准计算不同特征进行分支选择后的分类情况,选择最佳特征。

4. 衡量标准:熵

  • :表示随机变量不确定性的度量,公式为H(X)=- ∑ pi * logpi, i=1,2, ... , n

  • 应用:在分类任务中,希望分支后的数据类别熵值尽可能小,表示分类后的专一性。

5. 信息增益

  • 定义:表示特征X使得类Y的不确定性减少的程度。

  • 计算:通过比较原始数据集的熵与根据特征分割后的数据集熵的期望值之差来计算。

6.案例:

  1. 数据集与标签说明

    • 数据集包含14天的打球情况,标签为“是否出去玩”(Play),特征包括天气(Outlook)、温度(Temperature)、湿度(Humidity)、是否多云(Windy)。
    • 目标是通过决策树算法,根据特征预测标签。
  2. 根节点选择方法

    • 需通过信息增益(Information Gain)确定根节点(大当家),信息增益越大,特征对标签的分类效果越好。
    • 计算步骤:
      1. 计算初始标签的熵(Entropy):基于“Play”列的分布(如5个“No”、9个“Yes”)。
      2. 对每个特征(如Outlook)分组后,计算子集的熵,并加权求和得到条件熵。
      3. 信息增益 = 初始熵 - 条件熵,选择增益最大的特征作为根节点。
  3. 具体计算示例(Outlook特征)

    • 初始熵:H(Play) = - (5/14)*log(5/14) - (9/14)*log(9/14)
    • Outlook分三类:
      • Sunny(5天):熵A = - (3/5)*log(3/5) - (2/5)*log(2/5)
      • Overcast(4天):全“Yes”,熵B = 0
      • Rainy(5天):熵C = A(同Sunny分布)。
    • 条件熵:H(Play|Outlook) = (5/14)*A + (4/14)*B + (5/14)*C
    • 信息增益:H(Play) - H(Play|Outlook)
  4. 决策树构建逻辑

    • 根节点确定后,递归选择后续节点(二当家、三当家),每次选择剩余特征中信息增益最大的特征。
    • 需注意:后续节点的信息增益需基于已选特征的条件熵计算,而非直接与初始熵比较。
  5. 讨论与澄清

    • 部分同学混淆了标签列与特征列的作用,需明确熵的计算仅基于标签列(Play)。
    • 强调加权求和的重要性(如Outlook的子集熵需按天数比例加权)。
    • 信息增益的目标是快速降低不确定性,优先选择分类效果强的特征
    • 大当家选择方法

      • 根据四个节点划分数据,分别计算天气(sunny/overcast/rainy)条件下的信息增益值。
      • 通过加权求和计算商值(熵)。
      • 信息增益最大的属性(天气)被选为“大当家”。
    • 二当家选择方法

      • 在已选大当家(天气)的子节点中,穷举剩余属性(如温度)进行划分。
      • 计算子节点的商值(如温度分 hot/medium/cool),若子节点纯度为 1(全 yes/no)则停止划分。
      • 加权计算整体商值(需乘两次权重:子节点内比例和父节点全局比例)。
      • 信息增益公式:X - Y(X为大当家商值,Y为二当家候选商值),最大值者当选。
    • 课堂练习

      • 题目:基于“是否浮出水面生存”和“是否有脚蹼”两个特征构建决策树。
      • 计算步骤:
        • 原始商值:0.971(以 2 为底对数)。
        • “有脚蹼”作为根节点时商值:0.8,信息增益 0.171。
        • “不浮出水面”作为根节点时商值:0.551,信息增益 0.42(更大,当选大当家)。
    • 注意事项

      • 加权次数随层级增加(三当家需乘三次权重)。
      • 对数底数通常为 2(因频繁出现二分之一概率)。  

    7.总结:

    今天详细介绍了决策树的基本概念、组成部分、训练与测试过程、特征选择的方法以及如何使用熵和信息增益来衡量特征的重要性。通过实例演示了如何构造决策树,并提供了课堂练习以加深的理解。

    http://www.xdnf.cn/news/18072.html

    相关文章:

  6. Unity引擎播放HLS自适应码率流媒体视频
  7. 代码随想录算法训练营四十五天|图论part03
  8. 上网行为安全管理与组网方案
  9. 在阿里云 CentOS Stream 9 64位 UEFI 版上离线安装 Docker Compose
  10. 深入解析Kafka消费者重平衡机制与性能优化实践指南
  11. Windows从零到一安装KingbaseES数据库及使用ksql工具连接全指南
  12. 【Goland】:Map
  13. 【音视频】ISP能力
  14. iOS 应用上架全流程实践,从开发内测到正式发布的多工具组合方案
  15. Qt笔试题
  16. HTML应用指南:利用POST请求获取全国华为旗舰店门店位置信息
  17. 蓝桥杯算法之搜索章 - 6
  18. Python入门第8课:模块与包的使用,如何导入标准库与第三方库
  19. vite+react+antd,封装公共组件并发布npm包
  20. lamp架构部署wordpress
  21. 【新手易混】find 命令中 -perm 选项的知识点
  22. Vue2篇——第六章 Vue 路由(VueRouter)全解析
  23. 【AI论文】观察、聆听、记忆与推理:具备长期记忆能力的多模态智能体
  24. 神经网络显存占用分析:从原理到优化的实战指南
  25. 51c大模型~合集170
  26. 窗口看门狗(WWDG)
  27. SpringBoot--JWT
  28. 【加密PMF】psk-pmk-ptk
  29. FPGA驱动量子革命:微美全息(NASDAQ:WIMI)实现数字量子计算关键验证
  30. DFS与BFS模块总结
  31. 【论文阅读】-《HopSkipJumpAttack: A Query-Efficient Decision-Based Attack》
  32. 哪里找最新AI工具官网?如何快速对比ChatGPT替代品?AI工具导航指南 - AIbase
  33. WordPress (LNMP 架构) 一键部署 Playbook
  34. 【运维实战】系统全链路监测方案~架构到实践
  35. linux:告别SSH断线烦恼,Screen命令核心使用指南