Bagging 和随机森林:袋外误差和变量重要性

一棵树太不稳定。在自助样本上种很多棵树再取平均(Bagging),每次分裂只看随机的几个变量(随机森林),误差能降多少?

SOA SRMSOA PACAS MAS-II
对过的标准答案
2 条
覆盖的考试公式
1 个
参数
8 个
开源库
1 个

01当场运行

改一个参数,当场重算

正在用默认参数运行,计算量大的方法最多要 20 秒。

04出处和说明

公式从哪里来,有什么限制

列出参考的教材、论文和考试公式条目。方法的限制和实现上的说明也写在这里。

参考

  • James、Witten、Hastie、Tibshirani:An Introduction to Statistical Learning(第 2 版)8.2.1 Bagging、8.2.2 随机森林
  • Breiman (2001) Random forests, Machine Learning 45
  • Breiman (1996) Bagging predictors, Machine Learning 24

覆盖的考试公式

  • SML-006Bagging、袋外误差与随机森林SRMPAMAS-II

公式条目按精算考试的公式表整理,编号和中文名是平台自己的。

这个方法算什么

在 B 个自助样本上各长一棵树,预测取平均。每个观测只用没抽到它的树(袋外,OOB)来预测,得到袋外误差。m = p 是 Bagging,m < p 是随机森林。给出袋外误差和树的棵数的曲线、和单棵树的比较、按分裂增益的变量重要性;车险数据另给测试集的泊松偏差,和 GLM 比较。

说明和限制

  • 车险数据按保单做自助抽样:每张保单抽到的次数 k_i 来自多项分布,再按格子汇总(Σk_i·次数、Σk_i·风险暴露),和逐张保单长树相同。
  • 袋外误差:每个观测只用没抽到它的树的平均预测。B 小的时候有的观测没有袋外的树,这些观测不计入(表里写明个数)。
  • 随机森林在每个节点随机选 m 个变量再找最好的一刀,让树之间更不相关,平均以后方差降得更多。车险数据只有 3 个变量(年龄、车型、地区),m 的作用有限。
  • 变量重要性是每个变量在全部树上的分裂增益(残差平方和或泊松偏差的减少)之和,再归一化到合计 100%。

数据

看参数里选的数据:选平台的数据集时是真实数据或公开样例,填自己的数时只用输入的数。上面运行的输出里写明这一次用的是哪种。

开源库和版本

  • numpy2.4.6BSD-3-Clause数值计算

05同族的方法

统计学习,还有 9 个方法

同一个方法族里的其他方法。在智能体里,用一句话就能调用这些方法。

在智能体里这样问“一棵树太不稳定。在自助样本上种很多棵树再取平均(Bagging),每次分裂只看随机的几个变量(随机森林),误差能降多少?不用测试集怎么估计误差?”