更新于 2026年7月21日

决策树#


术语解释#

决策树(Decision Tree) 是一种经典的机器学习算法,主要用于解决分类和回归问题。其核心思想是通过一系列的逻辑判断(if-then 规则),将复杂的问题简化为树状结构的决策过程。

决策树运行结果图
决策树运行结果图

决策树是一种通过对特征进行层级化测试来做出预测的模型。它由节点和有向边组成,内部节点表示一个特征或属性的测试,分支代表测试的结果,而叶节点则代表最终的类别或预测值。 决策树的每一步决策都是一个降低信息不确定性的过程。 通过不断划分数据集,使得子集内部的样本尽可能属于同一类别(即提高“纯度”)。


出现动机#

  • 模拟人类决策:人类在面临选择时通常会采用分步排除的逻辑。决策树的设计初衷是模拟这种自然的逻辑推理过程。

  • 量化信息价值:为了解决“如何科学划分数据”的问题,引入了信息熵的概念,通过量化信息的不确定性来自动寻找最优的划分特征。

  • 自动化特征选择:在大规模数据中,人工寻找关键特征非常困难。决策树能够自动识别并选取对分类最有能力的特征,提高学习效率。


优点缺点#

  • 优点:

    • 直观易解释:决策树具有极强的可视化能力,模型可以被转换成易于理解的规则(if-then),非专业人士也能看懂其决策逻辑。

    • 处理能力多样:经过离散化处理后,能够同时处理离散型和连续型特征变量。

    • 无需复杂预处理:与逻辑回归等模型不同,决策树通常不需要对特征进行严格的标准化或归一化。

    • 计算效率高:在推理阶段,只需简单的逻辑比较即可得出结果,响应速度快。

  • 缺点:

    • 极易过拟合:如果树长得太深或太复杂,会过度拟合训练数据中的噪声,导致在测试集上表现糟糕(泛化能力弱)。

    • 稳定性差:对训练数据非常敏感,样本中微小的波动可能导致生成的树结构发生剧烈变化。

    • 局部最优限制:决策树在生成过程中通常采用贪心算法(每一步选当前最优),这可能无法得到全局最优的整棵树。

    • 倾向性偏置:某些标准(如信息增益)会倾向于选择取值较多的特征,从而产生误导。


相关术语#

  • 梯度提升树

  • 随机森林

阅读 --

8.1 决策树的基本思想

在本节中,我们首先介绍了决策树的核心思想,即决策树的本质就是降低信息不确定性的过程;然后总结出构建一棵决策树的关键在于找到一种合适的划分,使信息的“不确定性”能够降低得最多;最后我们介绍了如何以量化的方式来对信息进行度量。

8.2 决策树建模与可视化

在本节中,我们首先介绍了类DecisionTreeClassifier的使用方法,包括其中一些常见的重要参数及其含义;接着介绍了如何根据现有的数据集来训练一个决策树模型;最后介绍了如何利用开源的graphviz工具实现决策树的可视化。

8.4 决策树剪枝过程

决策树剪枝教程,讲清为什么要剪枝、预剪枝与后剪枝的思路,以及如何降低过拟合。