千家信息网

关于决策树你需要了解的一切

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,作者:Marco Peixeiro编译:ronghuaiyang导读决策树,随机森林,bagging,boosting的介绍以及背后的原理基于树的方法可以用于回归或分类。它们涉及到将预测空间分割成几个
千家信息网最后更新 2026年11月03日关于决策树你需要了解的一切
作者:Marco Peixeiro
编译:ronghuaiyang

导读

决策树,随机森林,bagging,boosting的介绍以及背后的原理

基于树的方法可以用于回归或分类。它们涉及到将预测空间分割成几个简单的区域。分割规则集可以总结在树中,因此名为 决策树方法。

单个决策树的性能通常不如线性回归、logistic回归、LDA等。但是它可以损失一些可解释性,大幅度提高预测精度。

在这篇文章中,我们将介绍关于决策树、bagging、随机森林和boosting算法的所有知识。这将是一个漫长的阅读,但它将是值得的!

决策树基础

回归树

在讨论理论之前,我们需要一些基本的术语。

树是倒着画的。最后的区域称为叶子,树中发生分割的点是一个分割节点。最后,连接节点的段是"分支"。

回归树示意图

创建一个回归树:

  1. 将预测空间划分为J个不同且不重叠的区域
  2. 对于一个区域内的每一个样本值,将该区域内响应值的平均值作为预测值

每个区域都通过最小化RSS(Root-Sum-Squares)进行分割。为此,它采用 自顶向下的贪婪方法,也称为 递归二元分割。

为什么自顶向下?

因为所有的样本在第一次分裂之前都在同一个区域。

为什么是贪婪的方法?

因为最好的分割发生在特定的步骤中,而不是向前看并进行分割,从而在未来的步骤中得到更好的预测。

数学上,我们将这对半平面定义为:

我们要求 j和 s最小化:

然而,这可能导致过拟合。修剪树将产生一个更小的子树,我们可以使用交叉验证进行验证。

未修剪的树的示意图

分类树

分类树与回归树非常相似。但是,我们不能使用响应的平均值,因此我们现在预测一个区域中最常见的类。当然,RSS不能用作标准。相反,每次分割都是为了最小化 分类错误率。

分类错误率就是在区域中不属于最常见类的训练样本的比例。

分类错误率公式

不幸的是,这对树的生长来说不够敏感。在实践中,还使用了另外两种方法。

基尼指数:

基尼指数

这是对所有类的总方差的度量。如你所见,如果比例接近0或1,则基尼指数会很小,因此它是衡量节点纯度的一个很好的指标。

类似的原理也适用于另一种称为交叉熵的方法:

交叉熵

现在我们已经了解了基本决策树的工作原理,让我们看看如何改进它的性能!

Bagging, 随机森林和Boosting

Bagging

我们之前已经看到bootstrap可以计算任意数量的标准差。对于决策树,方差很大。因此,通过bootstrap聚合或 bagging,可以减少方差,提高决策树的性能。

Bagging包括从数据集中反复取样。这会生成 B个不同的引导训练集。然后,我们对所有的bootstrap训练集进行训练,得到每个集合的预测,并对预测进行平均。

数学上的平均预测为:

将其应用到决策树中,意味着我们可以构造大量的具有高方差和低偏差的树。然后,我们可以对他们的预测进行平均,以减少方差,以提高决策树的性能。

随机森林

随机森林相比Bagging树提供了一种改进,方法是对树进行"装饰"。

就像Bagging一样,建立了多个决策树。然而,在每次拆分时,从所有 p个预测中随机选择 m个随机样本。通常分割只允许使用 m个预测中的一个

换句话说,在每次拆分时,算法都不允许考虑大多数可用的预测器!

为什么?

假设数据集中有一个非常强的预测器,以及其他中等强的预测器。然后,在bagging树的集合中,它们都将在顶部分割中使用这个强大的预测器。因此,所有的bagging树都是非常相似的,平均它们的预测不会减少方差,因为预测是高度相关的。

随机森林通过强制每个分割只考虑有效地"装饰"树的预测子集来克服这个问题。

当然,如果 m等于 p,这就像bagging。通常, p的平方根给出的结果最好,如下所示。

分类错误是树的数量的函数。每行表示每个分割中可用的预测的数量。

Boost

boost的工作方式与bagging类似,但树是按顺序生长的:每棵树使用以前生长的树的信息。

这意味着算法学习速度很慢。每个树都拟合模型的残差,而不是目标变量。因此,每棵树都很小,在它表现不佳的地方,它会慢慢地提高预测能力。

Boost有三个调优参数:

  1. 树的数量( B):与bagging和随机森林不同,如果 B太大,boost可能会过适合。使用交叉验证来选择正确数量的树。
  2. 收缩参数( alpha):控制boost学习速率的小正数。它通常设置为0.01或0.001。
  3. 每个树的分割数( d):它控制增强的集成的复杂性。通常,单个分割( d = 1)效果很好。它也被称为 交互深度。

分类错误是树的数量的函数。每一行表示不同的交互深度。

正如你在上面所看到的,交互深度为1似乎提供了最好的结果。

现在你知道了决策树、随机森林、提升和bagging的一切。决策树既可以用于回归,也可以用于分类,当结合使用boost、bagging时,它们的表现非常好。

在以后的文章中,我将展示如何使用Python在真实环境中实现决策树!

英文原文:

https://towardsdatascience.com/everything-you-need-to-know-about-decision-trees-8fcd68ecaa71

https://www.toutiao.com/a6727985346639823363/

决策 分类 区域 森林 方法 数量 方差 错误 不同 性能 样本 交叉 训练 最小 原理 指数 最好 深度 算法 节点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司排名 华服互联网科技靠谱吗 互联网是第几次科技革命的成果 互联网科技公司经营范围 科技平台互联网 互联网科技卖菜 互联网中国科技 互联网科技的 友谊互联网络科技 玖二柒互联网科技公司待遇 天速互联网络科技有限公司 北京大学互联网科技怎么样 栖莱科技互联网股份有限公司 互联网科技的全部知识 科技赋能视角下互联网保险发展 怎样加入科技互联网 九思连强互联网电子科技有限公司 新氧科技和美国互联网有关系吗 现代科技的标志之一的互联网 高科技和互联网的现代国家 互联网医疗科技 致骋互联网科技 互联网科技博主是什么意思 互联网软件和科技 湖北码尼互联网科技有限公司电话 互联网公司黑科技创始人 用友工业互联网科技发展 雨阳互联网卡科技有限公司 河南商务圈互联网科技有限公司 东风日产互联网科技公司叫什么
0