python - scikit-learn python 中带 Bootstrap 的随机森林 = False

标签 python machine-learning scikit-learn

如果我们选择 bootstrap = False,RandomForestClassifier() 会做什么?

根据这个链接中的定义

http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier

bootstrap : boolean, optional (default=True) Whether bootstrap samples are used when building trees.

问这个是因为我想对时间序列使用随机森林方法,所以使用大小为 (t-n) 的滚动窗口进行训练并预测日期 (t+k) 并且想知道如果我们这样做是否会发生这种情况选择对或错:

1) 如果Bootstrap = True,那么当训练样本可以是任意一天和任意数量的特征时。因此,例如可以从第 (t-15) 天、第 (t-19) 天和第 (t-35) 天获取样本,每个样本都具有随机选择的特征,然后预测日期 (t+1) 的输出。

2) 如果 Bootstrap = False,它将使用从日期 (t-n) 到 t 的所有样本和所有特征进行训练,因此它实际上将遵守日期顺序(意思是它将使用 t-35、t-34、t-33 等,直到 t-1)。然后将预测日期 (t+1) 的输出。

如果这就是 Bootstrap 的工作方式,我会倾向于使用 Boostrap = False,如果不是的话,忽略连续几天的返回并从第 t-39 天跳到第 t 天会有点奇怪(想想金融系列) -19 然后到第 t-15 天预测第 t+1 天。我们会错过那些日子之间的所有信息。

那么...这就是 Bootstrap 的工作方式吗?

最佳答案

我没有资格发表评论。所以我只会在这里发表我的意见。 scikit-learn 文档说,子样本大小始终与原始输入样本大小相同,但如果 bootstrap=True(默认),则抽取样本并进行替换。 因此,如果 bootstrap = FALSE,我认为每个子样本都与原始输入样本相同。

关于python - scikit-learn python 中带 Bootstrap 的随机森林 = False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40131893/

相关文章:

python - 如何用 django ORM 模仿 Python 集?

python - 如何在python中用颜色代码绘制矩阵稀疏模式?

machine-learning - keras 中使用 CNN 对图像进行二元分类时正确预测的总数

machine-learning - 如何使用遗传算法表示染色体?

tensorflow - 使用tensorflow代替scikit-learn进行回归有什么优势?

python - tox+pytest 仅在 travis 上给出调用错误,代码为 -11

Python、pinax、django、windows AttributeError : 'module' object has no attribute 'call_subprocess'

Tensorflow:批量大小 > 1 时无法过度拟合训练数据

python - Scikit-learn SelectFromModel——实际获取底层预测变量的特征重要性分数

python - 属性错误 : 'str' object has no attribute 'decode' while building a logistic regression model