随机森林回归中的样本量

Aka*_*all 6 python machine-learning random-forest scikit-learn

如果正确理解,当计算随机森林估计量时,通常会应用自举,这意味着仅使用来自样本(i)的数据构建树(i),并选择替换.我想知道sklearn RandomForestRegressor使用的样本的大小是多少.

我看到的唯一一件事就是:

bootstrap : boolean, optional (default=True)
    Whether bootstrap samples are used when building trees.
Run Code Online (Sandbox Code Playgroud)

但是没有办法指定样本大小的大小或比例,也没有告诉我默认的样本大小.

我觉得应该有办法至少知道默认的样本大小是什么,我错过了什么?

Jia*_* Li 7

呃,我同意你的看法很奇怪,我们不能在RandomForestRegressor算法中指定子样本/引导程序大小.也许潜在的解决方法是使用BaggingRegressor.http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.BaggingRegressor.html#sklearn.ensemble.BaggingRegressor

RandomForestRegressor只是一个特例BaggingRegressor(使用bootstraps来减少一组低偏差高方差估计的方差).在RandomForestRegressor,基本估算器被迫DeceisionTree,而在BaggingRegressor,你有自由选择base_estimator.更重要的是,您可以设置自定义的子样本大小,例如,max_samples=0.5将绘制大小等于整个训练集的一半的随机子样本.此外,您可以通过设置max_features和选择一部分功能bootstrap_features.


ldi*_*rer 4

Bootstrap 的样本大小始终是样本数。

您没有遗漏任何内容,邮件列表上也提出了同样的问题RandomForestClassifier

引导样本大小始终与输入样本大小相同。如果您愿意,更新文档的拉取请求可能会很受欢迎。