ET或Extra-Trees(Extremely randomized trees,极端随机树)是由PierreGeurts等人于2006年提出。
该算法与随机森林算法十分相似,都是由许多决策树构成。
极端随机森林与随机森林有两点主要的区别:
1、随机森林应用的是Bagging模型(随机抽取样本),而极端随机森林是使用所有的训练样本得到每棵决策树,也就是每棵决策树应用的是相同的全部训练样本;
2、随机森林是在一个随机子集内得到最佳分叉属性,而ET是完全随机的得到分叉值,从而实现对决策树进行分叉的。
对于第2点的不同,我们再做详细的介绍。
当特征属性是类别的形式时(使用基尼系数进行划分):
随机选择具有某些类别的样本为左分支,而把具有其他类别的样本作为右分支;
当特征属性是数值的形式时(使用均方误差进行划分):
1 随机选择一个处于该特征属性的最大值和最小值之间的任意数,
2 当样本的该特征属性值大于该值时,作为左分支,当小于该值时,作为右分支。
这样就实现了在该特征属性下把样本随机分配到两个分支上的目的。
然后计算此时的分叉值。遍历节点内的所有特征属性,按上述方法得到所有特征属性的分叉值,我们选择分叉值最大的那种形式实现对该节点的分叉。
从上面的介绍可以看出,这种方法比随机森林的随机性更强。
对于某棵决策树,由于它的最佳分叉属性是随机选择的,因此用它的预测结果往往是不准确的,但多棵决策树组合在一起,就可以达到很好的预测效果。
当ET构建好了以后,我们也可以应用全部的训练样本来得到该ET的预测误差。
这是因为尽管构建决策树和预测应用的是同一个训练样本集,但由于最佳分叉属性是随机选择的,所以我们仍然会得到完全不同的预测结果,用该预测结果就可以与样本的真实响应值比较,从而得到预测误差。
如果与随机森林相类比的话,在ET中,全部训练样本都是OOB样本,所以计算ET的预测误差,也就是计算这个OOB误差。
在这里,我们仅仅介绍了ET算法与随机森林的不同之处,ET算法的其他内容(如预测、OOB误差的计算)与随机森林是完全相同的,具体内容请看关于随机森林的介绍。
总结:
相比较随机森林来讲,极端随机森林主要的区别是:
- 极端随机森林使用全部样本数据
- 极端随机森林的最佳分叉属性是随机选择的
参考:
https://blog.csdn.net/zhaocj/article/details/51648966
https://blog.csdn.net/xbmatrix/article/details/69488867