5. 机器学习-决策树
5. 机器学习-决策树
1) 是什么?
决策树是一种基于树形结构的监督学习算法,用于分类和回归任务。它通过一系列“如果-那么”规则从数据中学习模式,并将输入特征逐步划分,最终做出预测。
- 结构:由根节点(Root)、内部节点(Internal Nodes)、分支(Branches)和叶节点(Leaf Nodes)组成。
- 根节点:包含所有训练样本。
- 内部节点:表示一个特征的判断条件(如“年龄 > 30?”)。
- 分支:代表判断结果(如“是”或“否”)。
- 叶节点:表示最终的预测结果(类别或数值)。
核心思想:通过递归地选择最优特征进行分割,使得每个子集尽可能“纯净”(即同一类别的样本多)。
常见算法:
- ID3(使用信息增益)
- C4.5(使用信息增益率)
- CART(分类与回归树,使用基尼不纯度)
2)为什么
优点:
-
易于理解和解释
决策树生成的规则直观,像人类决策过程,适合非技术人员理解。 -
无需数据预处理
可以直接处理数值型和类别型特征,不需要标准化或归一化。 -
能处理非线性关系
不依赖特征之间的线性假设,适合复杂的数据分布。 -
自动特征选择
在构建过程中会自动选择重要特征,忽略无关特征。 -
支持多输出和缺失值
某些实现(如CART)可处理缺失值和多标签分类。 -
可视化
树结构可绘制成图,便于分析和调试。
3)什么时候用
✅ 推荐使用决策树的场景包括:
- 需要可解释性:如医疗诊断、金融风险评估等,模型逻辑需透明。
- 数据维度不高:特征数量较少时效果较好。
- 快速原型开发:作为基准模型快速验证想法。
- 混合类型数据:同时包含数值和类别特征。
- 初步探索数据:帮助理解特征与目标变量之间的关系。
- 集成学习的基础:如随机森林(Random Forest)、梯度提升树(GBDT)等都基于决策树。
4)什么时候不该用
❌ 避免使用决策树的场景包括:
- 数据量非常大且高维:容易过拟合,训练时间长。
- 连续特征很多且分布复杂:可能无法有效捕捉细微变化。
- 需要极高精度:单一决策树通常比深度神经网络或SVM等弱。
- 存在大量噪声或异常值:易受干扰,导致不稳定。
- 数据不平衡严重:可能导致偏向多数类。
- 需要平滑预测:决策树是分段常数函数,不适合连续变化的预测任务。
✅ 建议:此时可考虑使用集成方法(如随机森林、XGBoost)来提升性能并缓解问题。
5)总结
决策树是一种强大而直观的机器学习工具,特别适用于需要可解释性和快速建模的场景。虽然其单独使用时容易过拟合,但它是许多高级模型(如随机森林、梯度提升)的基础组件。
🔹 核心优势:可解释性强、无需预处理、支持多种数据类型。
🔹 主要缺点:易过拟合、对数据扰动敏感、可能产生偏差。
📌 最佳实践建议:
使用剪枝(Pruning)防止过拟合。
结合交叉验证选择最优参数。
考虑集成方法提升泛化能力。
在实际应用中,优先尝试决策树作为基准模型。
✅ 一句话总结:
决策树是“看得见的AI”,适合理解数据规律和构建可解释模型,但在追求极致精度时应结合集成学习。
概念
熵
定义:衡量数据集不确定性的指标。熵越大,数据越混乱;熵越小,数据越有序。

信息熵
信息增益(Information Gain):衡量某个特征划分数据后带来的信息减少量。

5.1决策树构建过程
5.1 决策树构建过程
- 输入:训练数据集 D
- 输出:决策树模型
- 步骤:
~1.若当前节点所有样本属于同一类别 → 设为叶节点,标记该类别。
~2.若无可用特征或样本为空 → 设为叶节点,标记多数类。
否则:
~3.计算每个特征的信息增益(或基尼指数等)。
~4.选择最优特征进行划分。
~5.按照该特征的不同取值生成子节点。
对每个子节点递归执行上述过程。
5.2 ID3决策树(了解)
核心准则:使用 信息增益 选择划分属性。
- 优点:
- 简单直观,易于理解。
- 缺点:
- 偏向于取值多的特征(如ID)。
- 不能处理连续特征和缺失值。
- 容易过拟合。
- 适用场景:教学演示、简单分类问题。
5.3 C4.5决策树(了解)
改进点:引入 信息增益率(Gain Ratio) 解决ID3的偏向问题。
公式:
增益率 = 信息增益 ÷ 分裂信息
- 优点:
- 减少对多值特征的偏好。
- 支持连续特征(离散化处理)。
- 能处理缺失值。
- 缺点:
- 计算复杂度较高。
- 仍可能产生过拟合。
- 适用场景:实际应用中较为常见,适合中等规模数据。
5.4 CART决策树(重要)
全称:Classification and Regression Trees(分类与回归树)
- 特点:
- 仅支持二叉树(每次分裂为两个子集)。
- 分类任务使用 基尼不纯度(Gini Impurity):

- 回归任务使用 方差最小化。
- 优势:
- 通用性强(可做分类与回归)。
- 适合大数据集。
- 支持剪枝,防止过拟合。
- 是随机森林、XGBoost 等集成方法的基础。
- 广泛应用:工业界主流算法之一。
5.5 三者的对比
| 特性 | ID3 | C4.5 | CART |
|---|---|---|---|
| 划分标准 | 信息增益 | 信息增益率 | 基尼不纯度 / 方差 |
| 树类型 | 多叉树 | 多叉树 | 二叉树 |
| 是否支持连续值 | 否 | 是(离散化) | 是 |
| 是否处理缺失值 | 否 | 是 | 是 |
| 是否倾向多值特征 | 是(严重偏向) | 否(修正) | 否 |
| 是否支持回归 | 否 | 否 | 是 |
| 是否剪枝 | 否 | 是 | 是(预剪枝 + 后剪枝) |
| 应用广泛程度 | 较低(教学) | 中等 | 高(主流) |
5.6 剪枝
- 目的:防止过拟合,提高泛化能力。
- 两种方式:
- 预剪枝(Pre-pruning):
- 在构建过程中提前停止增长(如设定最大深度、最小样本数等)。
- 优点:节省计算资源。
- 缺点:可能欠拟合。
- 后剪枝(Post-pruning):
- 先生成完整树,再自底向上剪去对验证集性能无帮助的分支。
- 优点:通常比预剪枝效果好。
- 缺点:计算成本高。
- 常用方法:代价复杂度剪枝(Cost-Complexity Pruning),CART默认采用。
5.7 总结
✅ 总结要点
- 决策树本质:通过特征划分构建规则,实现分类/回归。
- 关键指标:
- 熵 → 衡量不确定性;
- 信息增益 → ID3;
- 信息增益率 → C4.5;
- 基尼不纯度 → CART。
- 三大算法对比:ID3(基础)、C4.5(改进)、CART(实用)。
- CART 最重要:支持分类+回归、二叉树、剪枝机制,是现代机器学习的基石。
- 剪枝不可少:避免过拟合,提升模型泛化能力。
📌 一句话总结:
决策树从“熵”出发,以“信息增益”或“基尼指数”为准则,逐步构建树结构;ID3、C4.5、CART 三种算法各有侧重,其中 CART 最为实用;而剪枝则是提升模型鲁棒性的关键手段。
更多推荐
所有评论(0)