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

决策树学习报告

一、决策树基础概念

决策树是一种基于树结构的机器学习模型,核心逻辑是从根节点出发,依据特征选择分支,逐步遍历至叶子节点,最终得到决策结果。其适用范围广,既能处理分类任务,也能完成回归任务,所有输入数据最终都会对应唯一的叶子节点,不存在 “无决策结果” 的情况。

二、决策树的组成结构

决策树主要由三部分构成,各部分功能明确,可通过日常场景类比理解:

结构名称通俗解读核心作用
根节点决策的第一个关键问题作为决策起点,筛选最重要的特征
非叶子节点 + 分支决策过程中的中间判断逐步缩小数据范围,靠近最终结果
叶子节点最终的决策答案输出具体的分类或回归结果
例如 “周末出行选择” 决策树中,根节点可设为 “是否有聚会”,分支为 “是 / 否”;非叶子节点可设为 “作业是否紧急”,叶子节点则为 “去酒吧”“在家学习”“看电视” 等具体结果。

三、决策树的训练与测试流程

(一)训练阶段

训练的本质是从给定训练集中构建决策树,关键在于确定 “如何选择特征作为节点”。需从根节点开始,通过特定衡量标准筛选最优特征,再对每个分支重复该过程,逐步生成子节点,直至所有数据类别一致或无特征可选,最终形成完整树结构。

(二)测试阶段

训练完成后,测试流程十分简洁:将测试数据从根节点代入,按照特征取值选择对应分支,依次向下遍历,直至抵达叶子节点,该叶子节点的结果即为测试数据的决策输出。例如用 “是否打球” 的决策树测试时,输入 “晴天、高湿度”,沿分支遍历后即可得到 “是否去打球” 的结果。

四、特征切分的关键指标:熵与信息增益

特征切分需依靠数学指标判断,核心为 “熵” 和 “信息增益”,二者共同决定特征的重要性。

(一)熵:衡量数据不确定性

  • 定义:熵是量化随机变量不确定性的指标,数据类别越混乱、分布越分散,熵值越大;数据类别越单一、分布越集中,熵值越小。
  • 公式:\(H(X) = -\sum_{i=1}^{n} p_i \cdot \log p_i\)(\(p_i\) 为第 i 类数据的概率,n 为类别总数)。
  • 关键结论
    • 当 \(p=0\) 或 \(p=1\)(数据全为同一类)时,\(H(p)=0\),无不确定性;
    • 当 \(p=0.5\)(两类数据各占一半)时,\(H(p)=1\),不确定性最大。
  • 示例:A 集合 [1,1,1,1,1,1,1,1,2,2](类别较集中),熵值较低;B 集合 [1,2,3,4,5,6,7,8,9,1](类别分散),熵值较高。

(二)信息增益:评估特征的分类效果

  • 定义:表示某特征能使类别不确定性减少的程度,减少越多,说明该特征的分类效果越好,优先作为当前节点的切分特征。
  • 计算方法:信息增益 = 原始熵(未切分前的熵值) - 特征分支后的加权熵(按特征取值概率加权计算的熵值)。

五、决策树构造实例

(一)实例背景

  • 数据集:14 天打球记录(9 天 “打球”,5 天 “不打球”);
  • 特征:4 个环境特征(outlook 天气、temperature 温度、humidity 湿度、windy 是否有风);
  • 目标:构建 “判断当天是否打球” 的决策树。

(二)构造步骤(以 outlook 特征为例)

  1. 计算原始熵:14 天中 “打球” 概率为 \(9/14\),“不打球” 概率为 \(5/14\),代入公式得原始熵 \(H=0.940\)。
  2. 计算 outlook 分支熵
    • outlook=sunny(5 天,2 天打球、3 天不打球):熵值 0.971;
    • outlook=overcast(4 天,全为打球):熵值 0;
    • outlook=rainy(5 天,2 天打球、3 天不打球):熵值 0.971。
  3. 计算 outlook 加权熵:按特征取值概率加权,即 \((5/14×0.971)+(4/14×0)+(5/14×0.971)=0.693\)。
  4. 计算信息增益:\(0.940 - 0.693 = 0.247\)。

六、学习收获与待解问题

(一)学习收获

  1. 明确了决策树的核心逻辑,理解 “特征选择” 是构建树的关键,不再依赖主观判断,而是通过熵和信息增益客观筛选。
  2. 实例与练习帮助巩固理论,从 “看不懂公式” 到 “能独立计算并构造简单决策树”,逐步掌握实操方法。
  3. 决策树与生活场景(如选择出行、购物判断)逻辑相似,降低了抽象概念的理解难度。

(二)待解问题

  1. 计算熵时易混淆对数底数(常用 2 或 e),需强化记忆不同底数的适用场景。
  2. 面对大量特征或数据时,手动计算效率极低,需学习 Python 等工具的代码实现(如 sklearn 库)。
  3. 尚未掌握数据缺失、异常值的处理方法,后续需补充相关知识点,应对复杂数据集。

七、总结

决策树是一种直观、易理解的机器学习模型,核心在于 “以熵和信息增益为依据,筛选最优特征构建树结构”。通过本次学习,不仅掌握了基础理论与构造方法,还通过实例与练习实现了理论落地。后续计划尝试用 iris 等公开数据集,结合代码完成决策树构建,进一步提升实操能力,为学习随机森林等复杂树模型奠定基础。

http://www.lryc.cn/news/624835.html

相关文章:

  • 决策树简单实战
  • 容器化 Android 开发效率:cpolar 内网穿透服务优化远程协作流程
  • 【Langchain系列三】GraphGPT——LangChain+NebulaGraph+llm构建智能图数据库问答系统
  • Swift + Xcode 开发环境搭建终极指南
  • 一个月内快速掌握蓝牙原理与应用的全面学习规划
  • 104、【OS】【Nuttx】【周边】文档构建渲染:安装 Sphinx 扩展(上)
  • Day7--滑动窗口与双指针--1695. 删除子数组的最大得分,2958. 最多 K 个重复元素的最长子数组,2024. 考试的最大困扰度
  • 负载均衡终极指南:从流量分发到云原生架构的核心解析
  • Apache IoTDB集群部署实战:1C2D架构的高性能时序数据库搭建与优化指南
  • 第4章-04-用WebDriver页面元素操作
  • onRequestHide at ORIGIN_CLIENT reason HIDE_SOFT_INPUT fromUser false
  • 告别 DOM 的旧时代:从零重塑 Web 渲染的未来
  • scikit-learn/sklearn学习|弹性网络ElasticNet解读
  • LINUX 818 shell:random;for for
  • 咨询进阶——解读咨询顾问技能模型
  • 2025 年世界职业院校技能大赛汽车制造与维修赛道高职组资讯整合
  • Unity开发中的浅拷贝与深拷贝
  • 做一个答题pk小程序多少钱?
  • Golang資源分享
  • USB基础 -- 字符串描述符 (String Descriptor) 系统整理文档
  • C++中内存池(Memory Pool)详解和完整示例
  • Mongodb(文档数据库)的安装与使用(文档的增删改查)
  • 可实时交互的AI生成世界,腾讯发布的AI框架Yan
  • 对象存储 COS 端到端质量系列 —— 终端网络诊断工具
  • EMC PCB 设计规范
  • 上汽通用牵手Momenta,别克至境L7全球首发搭载R6飞轮大模型
  • 用随机森林填补缺失值:原理、实现与实战
  • 深度学习必然用到的概率知识
  • 94、23种设计模式之工厂方法模式
  • Redis--day8--黑马点评--分布式锁(一)