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

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.dtcms.com/a/336914.html

    相关文章:

  6. 性能测试(Jemter)
  7. grep命令要点、详解和示例
  8. 基于nvm安装管理多个node.js版本切换使用(附上详细安装使用图文教程+nvm命令大全)
  9. QT第九讲- 控件委托
  10. Git智能合并机制深度解析
  11. ChatGPT-5 对教育行业的影响与案例研究
  12. Qt笔试题
  13. 录像视频删除如何恢复?手机电脑的录像恢复技巧
  14. 给linux的root磁盘扩容
  15. 手游搬砖对云手机的需求有哪些?
  16. 机器学习实例应用
  17. 获粤港澳大湾区碳足迹认证:遨游智能三防手机赋能绿色通信
  18. VLN视觉语言导航(3)——神经网络的构建和优化 2.3
  19. 二十八、案例-部门管理-查询
  20. Android中flavor的使用
  21. 项目实战——矿物识别系统(利用机器学习从化学元素数据中识别矿物,从数据到分类模型)
  22. 咨询进阶——解读咨询顾问技能模型
  23. NL2SQL 技术深度解析与项目实践
  24. Jmeter对图片验证码的处理
  25. single cell ATAC(5)使用ArchR聚类
  26. CentOS 7.9 部署 filebrowser 文件管理系统
  27. 深入解析 Qwen3 GSPO:一种稳定高效的大语言模型强化学习算法
  28. 运维命令基础
  29. 算法魅力-BFS解决多源最短路
  30. PPT生成视频的AI大模型应用技巧
  31. 基于51单片机霍尔测速仪表测转速调速系统设计
  32. Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频内容理解与智能预警升级(401)
  33. Java封装
  34. Orange的运维学习日记--45.Ansible进阶之文件部署
  35. Rust 入门 生命周期-next2 (十九)