怎么理解随机森林的oob error?

  统计/机器学习 监督式学习 模型验证    浏览次数:12623        分享
1

怎么理解随机森林的oob error?有了oob error是不是就不用做交叉验证了?

 

图不二   2018-08-13 21:32



   2个回答 
12

严格来说,OOB error不能完全取代交叉验证(看完下文就知道了)。

OOB(Out-of-bag) error也叫做包外误差,是随机森林中的一种度量预测误差的方式。

我们知道随机森林是由很多数组成的,而每棵树当中只用了部分样本来训练。

假设训练集中一共有$N$个样本$x_1,x_2,\cdots,x_N$,随机森林中有$M$棵树,$T_1,T_2,\cdots,T_M$。

对于一个样本$x_i$,我们用那些没有使用$x_i$训练的树组成的小随机森林来预测$x_i$,其预测误差就是$x_i$在这个随机森林上的OOB error,$\text{Err}_i$。

整个随机森林的OOB误差就是所有训练样本的平均OOB误差,

$$\text{OOB Error}=\sum^{N}_{i=1}\frac{\text{Err}_i}{N}$$

通常来说,OOB误差会比交叉验证的误差更大,因为估计OOB时,我们只用了随机森林中的部分树,没有使用完整的模型,限制了模型的发挥。但OOB省去了交叉验证中多次训练的步骤,所以比较方便,节约了时间。


SofaSofa数据科学社区DS面试题库 DS面经

zl_pku   2018-09-14 07:34

2

是的,不需要交叉验证了。

SofaSofa数据科学社区DS面试题库 DS面经

nobodyoo1   2018-08-16 00:33



  相关讨论

随机森林如何调参?

为什么随机森林比决策树更robust?

决策树怎么做增量学习或者online学习?

随机森林预测问题

决策树可以做多元分类吗?

怎么理解RandomForest中的max_features?

决策树的深度和数据特征个数的关系

请问针对Adaboost、GBDT等集成学习同一个特征是否可以入模多次?

Gradient tree boosting和random forest (随机森林) 有什么区别和联系

决策树是如何得到量化的概率,不只是0或1的标签?

  随便看看

怎么理解tweedie分布?

numpy.full这个函数有什么用?

如何清空pandas dataframe里的全部数据但是保留列名?

训练集中有的特征含有缺失值,一般怎么处理

plt.show()之后matplotlib图像依然不展示