具有一个估计量的随机森林估计量不仅仅是决策树吗?
好吧,这是一个好问题,答案是“ 否” 。随机森林算法不只是一个简单的独立生长的决策树包。
除了由于合并许多树而引起的随机性之外,随机森林(RF)算法还在以两种不同的方式构建 单个树 时并入了随机性,而简单决策树(DT)算法中都没有这种随机性。
第一个是在每个树节点上寻找最佳分割时要考虑的特征数量:虽然DT考虑了所有特征,RF却考虑了它们的随机子集,其大小等于参数
max_features(请参阅docs)。
第二点是,虽然DT考虑了整个训练集,但单个RF树仅考虑了它的自举子样本;从文档再次:
子样本大小始终与原始输入样本大小相同,但是如果bootstrap = True(默认值),则将替换绘制样本。
RF算法本质上是两个独立概念的组合:装袋和特征的随机选择(有关详细概述,请参阅Wikipedia条目)。套袋本质上是我的第二点,但适用于合奏。特征的随机选择是我在上面提到的第一点,似乎它是由Breeman
RF之前的Tin Kam
Ho独立提出的(再次参见Wikipedia条目)。Ho已经建议仅通过随机特征选择来提高性能。这与您在这里所做的不完全一样(您仍然仍然使用装袋中的引导抽样概念),但是您可以通过
bootstrap=False在
RandomForestClassifier()参数中进行设置来轻松复制Ho的思想。事实是,鉴于这项研究,性能差异并不出乎意料…
要 确切地
复制中的单个树的行为
RandomForestClassifier(),应同时使用
bootstrap=False和
max_features=None参数,即
clf = RandomForestClassifier(n_estimators=1, max_features=None, bootstrap=False)
在这种情况下,引导采样和随机特征选择均不会发生,并且性能应大致等于单个决策树的性能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)