决策树学习报告
一、决策树基础概念
决策树是一种基于树结构的机器学习模型,核心逻辑是从根节点出发,依据特征选择分支,逐步遍历至叶子节点,最终得到决策结果。其适用范围广,既能处理分类任务,也能完成回归任务,所有输入数据最终都会对应唯一的叶子节点,不存在 “无决策结果” 的情况。
二、决策树的组成结构
决策树主要由三部分构成,各部分功能明确,可通过日常场景类比理解:
结构名称 | 通俗解读 | 核心作用 |
---|---|---|
根节点 | 决策的第一个关键问题 | 作为决策起点,筛选最重要的特征 |
非叶子节点 + 分支 | 决策过程中的中间判断 | 逐步缩小数据范围,靠近最终结果 |
叶子节点 | 最终的决策答案 | 输出具体的分类或回归结果 |
例如 “周末出行选择” 决策树中,根节点可设为 “是否有聚会”,分支为 “是 / 否”;非叶子节点可设为 “作业是否紧急”,叶子节点则为 “去酒吧”“在家学习”“看电视” 等具体结果。 |
三、决策树的训练与测试流程
(一)训练阶段
训练的本质是从给定训练集中构建决策树,关键在于确定 “如何选择特征作为节点”。需从根节点开始,通过特定衡量标准筛选最优特征,再对每个分支重复该过程,逐步生成子节点,直至所有数据类别一致或无特征可选,最终形成完整树结构。
(二)测试阶段
训练完成后,测试流程十分简洁:将测试数据从根节点代入,按照特征取值选择对应分支,依次向下遍历,直至抵达叶子节点,该叶子节点的结果即为测试数据的决策输出。例如用 “是否打球” 的决策树测试时,输入 “晴天、高湿度”,沿分支遍历后即可得到 “是否去打球” 的结果。
四、特征切分的关键指标:熵与信息增益
特征切分需依靠数学指标判断,核心为 “熵” 和 “信息增益”,二者共同决定特征的重要性。
(一)熵:衡量数据不确定性
- 定义:熵是量化随机变量不确定性的指标,数据类别越混乱、分布越分散,熵值越大;数据类别越单一、分布越集中,熵值越小。
- 公式:\(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 特征为例)
- 计算原始熵:14 天中 “打球” 概率为 \(9/14\),“不打球” 概率为 \(5/14\),代入公式得原始熵 \(H=0.940\)。
- 计算 outlook 分支熵:
- outlook=sunny(5 天,2 天打球、3 天不打球):熵值 0.971;
- outlook=overcast(4 天,全为打球):熵值 0;
- outlook=rainy(5 天,2 天打球、3 天不打球):熵值 0.971。
- 计算 outlook 加权熵:按特征取值概率加权,即 \((5/14×0.971)+(4/14×0)+(5/14×0.971)=0.693\)。
- 计算信息增益:\(0.940 - 0.693 = 0.247\)。
六、学习收获与待解问题
(一)学习收获
- 明确了决策树的核心逻辑,理解 “特征选择” 是构建树的关键,不再依赖主观判断,而是通过熵和信息增益客观筛选。
- 实例与练习帮助巩固理论,从 “看不懂公式” 到 “能独立计算并构造简单决策树”,逐步掌握实操方法。
- 决策树与生活场景(如选择出行、购物判断)逻辑相似,降低了抽象概念的理解难度。
(二)待解问题
- 计算熵时易混淆对数底数(常用 2 或 e),需强化记忆不同底数的适用场景。
- 面对大量特征或数据时,手动计算效率极低,需学习 Python 等工具的代码实现(如 sklearn 库)。
- 尚未掌握数据缺失、异常值的处理方法,后续需补充相关知识点,应对复杂数据集。
七、总结
决策树是一种直观、易理解的机器学习模型,核心在于 “以熵和信息增益为依据,筛选最优特征构建树结构”。通过本次学习,不仅掌握了基础理论与构造方法,还通过实例与练习实现了理论落地。后续计划尝试用 iris 等公开数据集,结合代码完成决策树构建,进一步提升实操能力,为学习随机森林等复杂树模型奠定基础。