随机森林中每棵树的样本数

机器算法验证 机器学习 采样 随机森林 样本量 scikit-学习
2022-03-18 08:28:29
  1. 随机森林的每棵树使用多少样本来训练 sci-kit 学习随机森林回归的实现?

  2. 而且,当引导选项打开时,与关闭时相比,样本数量有何变化?

在 Breiman 的“随机森林”中,我相信他提到每棵树都使用 1/3 的数据进行训练。在 scikit learn 的实现中也是这样吗?

sklearn 参考:http ://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html

github来源:https ://github.com/scikit-learn/scikit-learn/blob/a24c8b46/sklearn/ensemble/forest.py#L1019

1个回答

我正在回答我的问题。我有机会与在 sci-kit learn 中实现随机森林的人交谈。这是解释:

“如果bootstrap=False,那么每棵树都建立在所有训练样本上。

如果bootstrap=True,那么对于每棵树,从训练集中随机抽取 N 个样本进行替换,并且树是基于这个新版本的训练数据构建的。这在训练过程中引入了随机性,因为每棵树都将在略有不同的训练集上进行训练。可以预期,从大小为 N 的数据集中抽取 N 个带有替换的样本将从原始集合中选择约 2/3 的唯一样本。"

从 Scikit Learn v0.22 开始,您仍然可以使用 boostraping,但会限制每棵树训练的最大样本数(max_samplesRandomForestRegressor)。

有关此主题的优秀资源以获取更多详细信息: