关于决策树 bagging 与 随机森林的疑问

来源:13-5 随机森林和 Extra-Trees

lemonlxn

2019-03-21

bobo老师好。
您之前提过,决策树,在每个节点的划分,寻找到最优的 特征 与 阈值。

问题一:
在集成学习中,由于传入决策树,所以 放回取样的bagging 、random_subspaces、 random_patches 等随机森林,是否并没有寻找最优的 特征与 阈值,而只是在随机特征中,寻找最优的阈值。

问题二:
我们通过 bagging,传入一个决策树,就可以创建一个随机森林。
随机森林,是在随机的特征子集上,取寻找最优阈值。那这个是否与random_subspaces是一致。

问题三:
随机森林,是在随机的特征子集上,取寻找最优阈值。是否存在,在某个节点通过 A特征划分,然后在之后的节点,接着通过对A特征进行划分的情况呢?

问题四:
在放回取样中,是否存在一个接口,返回 oob 具体哪些没有被取到的样本数据呢?
我在 RandomForestClassifier 做了测试,不过只找到 oob 对应的概率值。

图片描述

写回答

1回答

liuyubobobo

2019-03-21

是的。随机森林中每棵树寻找的都是对当前这棵树所取样的随机样本和随机特征对应的最优值,而不是全聚德最优值。我们就是使用这种方法,才可以增强整个随机森林的泛化能力。


2

一致。随机森林本身就是传入的分类其实决策树的Bagging Classifier


3

存在。决策树存在。随机森林就存在。因为随机森林就是一堆决策树。


4

不存在这个接口。我不确定为什么scikit-learn不设计这个接口。不过由于scikit-learn是开源项目。可以给他们提建议:)传送门:https://github.com/scikit-learn/scikit-learn


继续加油!:)

0
6
liuyubobobo
回复
lemonlxn
对。但是在随机森林中,每棵决策树的 n 个特征可以不一样(随机的)。
2020-04-28
共6条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5838 学习 · 2437 问题

查看课程