大年夜部分限制可以经由过程改良决定计划树随便马虎解决。鄙人面的内容中,我们将介绍相干的几个概念,重点介绍袋装和随机丛林。
因为决定计划树轻易对数据产生过拟合,是以分支更少(即削减区域 R_1, … ,R_J)的小树固然误差略微高一点,但其产生的方差更低,可解释性更强。处理上述问题的一种办法是构建一棵树,每个分支跨越某个(高)阈值袈潇成叶结点误差率 Qm 降低,则停止构建。然则,因为决裂算法的贪婪本质,它其实很短视。决定计划树早期看似无用的一次决裂有可能会导致之后一次优良的决裂,并使得 Qm 大年夜幅降低。
Name: Income, dtype: int64
是以,更好的策略是构建一个异常大年夜的树 T_0,然后再剪枝,获得一棵子树。剪枝可以应用多种策略。价值复杂度剪枝(Cost complexity pruning),又叫最弱连接剪枝(weakest link pruning),就是个一一种行之有效的策略。除了推敲每一个可能的子树之外,还须要推敲由非负调参(nonnegative tuning parameter)α 索引的树序列。每一个 α 值都对应一个尽可能小的子树 T⊂T_0。

这里∣T∣代表树 T 中叶结点的数量,R_m 代表第 m 个叶结点对应的矩形(猜测器空间的子集),yhat_Rm 是 Rm 的猜测值,即 Rm 中练习样本猜测值的均值(或分类树中的模式响应)。调剂参数 α 控制子树复杂度之间的衡量,对练习数据进行拟合。当 α= 0 的时刻,子树 T 等同于 T_0。当α的值袈漩长时,构建具备多个子结点的树须要付出价值,如许,要想获得更小的子树,上述公式将达到最小化。我们可以应用氖刂净叉验证办法选择剪枝参数 α 。
留意,今朝 sklearn.tree 决定计划树分类器(和回归器)不支撑剪枝。
袋装(Bootstrap Aggregating——Bagging)
在统计学中,Bootstrap 是依附调换随机采样的随便率性实验或度量。我们大年夜上文可以看见,决定计划树会受到高方差的困扰。这意味着如不雅我们把练习数据随机分成两部分,并且给二者都安顿一个决定计划树,我们获得的结不雅可能就会相当不合。Bootstrap 集合,或者叫做袋装,是削减统计进修办法的方差的通用过程。
【编辑推荐】
- 随机丛林入门攻略
- GBDT:梯度晋升决定计划树
- 大年夜头开端:用Python实现决定计划树算法
- 机械进修决定计划树算法进修标记
- 机械进修算法实践:决定计划树 (Decision Tree)
给定一组 n 个自力的样本不雅测值 Z_1,Z_2,...,Z_n,每一个值的方差均为 *σ^*2,样本不雅测值的均值方差为 *σ^*2/*n*。换句话说,对一组不雅测值取平均会减小方差。是以一种减小方差的天然方法,也就是增长统计进修办法猜测精度的方法,就是大年夜总体中掏出很多练习集,应用每一个练习集创建一个分别的猜测模型,并且对猜测结不雅求取平均值。
这里有一个问题,即我们不克不及获取多个练习数据集。相反,我们可以经由过程大年夜(单一)练习数据集提取反复样本进行自助法(bootstrap)操作。在这种办法中,我们生成了 B 个不合的自助练习数据集。我们随后在第 b 个自助练习数据集获得了一个猜测结不雅
,大年夜而获得一个集合猜测(aggregate prediction)。

这就叫做袋装(bagging)。留意,集合(aggregating)在回归和分类问题中可能有不合的均值。当平均猜测值袈溱回归问题中的效不雅很好时,我们将会须要应用多半票拘抹majority vote):因为分类问题中的集合机制,整体猜测就是在 B 个猜测值中最常出现的那个重要类别。
Bagging 办法最大年夜的优势是我们可以不经由过程交叉验证而求得测试误差。回想一下,Bagging 办法的精华是多棵树可以反复地拟合不雅察样本的自助子集。平均而言,每一个袋装树可以应用 2/3 的不雅察样本。而剩下的 1/3 不雅察样本就可以称为 out-of-bag (OOB) 不雅察样本,它们并不会拟合一一棵给定袋装树。我们可以应用每一棵树的 OOB 不雅察样本而计算第 i 个不雅察样本的猜测值,这将会导致大年夜约有 B/3 的猜测值可以猜测第 i 个不雅察样本。如今我们可以应用和 Bagging(平均回归和大年夜多半投票分类)类似的集合技巧,我们能获得第 i 个不雅察样本的单一猜测值。我们可以用这种方法获得 n 个不雅察样本的 OOB 猜测,是以总体的 OOB MSE(回归问题)和分类误差率(分类问题)就能计算出来。OOB 误差结不雅是 Bagging 模型测试误差的有效估计,因为每一个样本的猜测值都是仅仅应用不会进行拟合练习模型的样本。
经由过程应用单一树,Bagging 平日会晋升猜测的精确度。然则,解释最终的模许可能很艰苦。当我们袋装大年夜量的树时,就不再可能应用单一的树表征最终的统计进修流程,是以,Bagging 是以就义阐释性才能为价值来晋升猜测精确度的。有趣的是,一小我可应用 RSS(用于 bagging 回归树)或者基尼指数(用于 bagging 分类树缉获得每一个猜测器的┞符体总结。在 bagging 回归树的情况中,我们可以记录因为所有的 B 树上平均的给定猜测分子决裂而造成的 RSS 削减的所稀有量。一个大年夜的值表示一个重要的猜测器。类似地,在 bagging 分类树的情况下,我们可以添加因为所有的 B 树上平均的给定猜测分子决裂而造成的基尼系数降低的所稀有量。一旦练习完成,sklearn 模块的不合袋装树(bagged tree)进修办法可直接拜访特点的重要性数据作为属性。
推荐阅读
我们将逐渐揭开 awk 功能的神秘面纱,在本节中,我们将介绍 awk 内置built-in变量的概念。你可以在 awk 中应用两种类型的变量,它们是:用户自定义user-defined变量和内置变量。我们将逐>>>详细阅读
本文标题:从决策树到随机森林:树型算法的原理与实现
地址:http://www.17bianji.com/lsqh/36558.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示