首页 文章

SciKit-Learn Random Forest子样本大小如何可能等于原始训练数据大小?

提问于
浏览
5

在SciKit-Learn Random Forest分类器的文档中,有人说

子样本大小始终与原始输入样本大小相同,但如果bootstrap = True(默认值),则使用替换绘制样本 .

我不明白的是,如果样本大小总是与输入样本大小相同,那么我们如何谈论随机选择 . 这里没有选择,因为我们在每次训练时使用所有(并且自然相同)的样本 .

我在这里错过了什么吗?

2 回答

  • 3

    我相信this part的文档可以回答你的问题

    在随机森林中(参见RandomForestClassifier和RandomForestRegressor类),集合中的每个树都是从训练集中用替换(即自举样本)绘制的样本构建的 . 此外,在构建树期间拆分节点时,所选的拆分不再是所有要素中的最佳拆分 . 相反,拾取的拆分是功能的随机子集中的最佳拆分 . 由于这种随机性,森林的偏差通常会略微增加(相对于单个非随机树的偏差),但由于平均,其方差也会减小,通常不仅可以补偿偏差的增加,从而产生一个整体更好的模型 .

    理解的关键在于“样本绘制 with replacement ” . 这意味着每个实例可以多次绘制 . 这反过来意味着火车组中的某些实例存在多次而一些实际上根本不存在(袋外) . 不同的树木有所不同

  • 1

    当然不是每棵树都选择了所有样本 . 默认情况下,每个样本对一个特定树进行采样的概率为1 - ((N-1)/ N)^ N~0.63,采样两次为0.63 ^ 2,采样3次为0.63 ^ 3 ...其中N是训练集的样本大小 .

    每个引导样本选择平均与其他引导不同,使得决策树充分不同,使得树的平均预测对于每个树模型的方差是稳健的 . 如果样本大小可以增加到训练集大小的5倍,则每个观察结果可能在每棵树中存在3-7次,并且整体集合预测性能将受到影响 .

相关问题