当前位置: 首页 > 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.dtcms.com/a/337843.html

相关文章:

  • 决策树的基本学习
  • 接口文档——前后端分离开发模式下的“契约书“
  • 科伦博泰:商业化引爆点已至,冲向Biopharma的“最后一公里”
  • B4265 [朝阳区小学组 2019] rectangle
  • JavaWeb前端02(JavaScript)
  • Python常用的GUI模块
  • 软考 系统架构设计师系列知识点之杂项集萃(129)
  • illustrator插件大全 免费插件介绍 Ai设计插件集合 (4)
  • 东软8位MCU使用问题总结
  • 深度学习必然用到的概率知识
  • 视觉语言导航(6)——Speaker-Follower模型 数据增强 混合学习 CLIP 3.1后半段
  • GISBox平台的三维城市模型自动化生成系统
  • 《Python学习之第三方库:开启无限可能》
  • 决策树:机器学习中的强大工具
  • 一些常见的聚类算法原理解析与实践
  • 【OLAP】trino安装和基本使用
  • BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain
  • 机器学习之数据预处理(一)
  • 深度学习-计算机视觉-微调 Fine-tune
  • 【MongoDB】多种聚合操作详解,案例分析
  • Java文件操作/IO
  • RabbitMQ高级特性——TTL、死信队列、延迟队列、事务、消息分发
  • 【展厅多媒体】互动地砖屏怎么提升展厅互动感的?
  • python基于机器学习进行数据处理与预测(火灾的三因素回归问题)
  • 探索机器学习:从核心概念到实战应用
  • 精通sqlmap tamper:WAF绕过实战技巧剖析
  • 磁流变液迟滞性能的机器学习软件设计
  • MySQL实战优化高手教程 – 从架构原理到生产调优
  • 突破成长瓶颈:产品运营能力体系化提升技巧
  • 大数据毕业设计选题推荐:基于Hadoop+Spark的城镇居民食品消费分析系统源码