为什么scikit-learn引导程序功能会对测试集重新采样?


15

当使用自举进行模型评估时,我一直认为直接购买的样本可以直接用作测试集。但是,对于已弃用的 scikit-learnBootstrap方法来说似乎不是这种情况,该方法似乎是通过从图纸中提取测试数据来构建测试集,并替换了现成的数据子集。这背后的统计原因是什么?在某些特定情况下,该技术比仅对袋外样本进行评估更好,反之亦然吗?


交叉验证?重采样?
EngrStudent 2015年

如果您指的是标签,那不是我添加的。实际上,我正在引导自己来替代CV。
gibberfish

我想你误会了。在交叉验证中,他们将对一部分数据重复几次该过程,并查看结果或模型参数的变化。在这种情况下,参数变化本身会表明拟合的质量,而不一定是OOB误差。我对特定的图书馆不熟悉,所以我只对这个想法发表了评论。
EngrStudent 2015年

Answers:


3

自举样本用于通过多次迭代来评估算法的性能。这样做时,将评估随机更改集的性能。

相反,当进行10次折叠交叉验证时,您仅对不同的训练和测试数据集执行10次迭代。

ñ=20一世=10000

您发布的链接已关闭,因此我在当前(0.14)版本的sklearn中添加了该功能的说明

方法说明

带有替换交叉验证迭代器的随机采样提供训练/测试索引,以在训练测试集中分割数据,同时对输入的n_iter次进行重采样:每次执行新的数据随机分割,然后在每一侧抽取样本(进行替换)拆分以构建训练和测试集。注意:与其他交叉验证策略相反,自举将使某些样本在每个拆分中出现几次。但是,发生在火车拆分中的样本将永远不会出现在测试拆分中,反之亦然。如果您希望每个样本最多出现一次,则应该改用ShuffleSplit交叉验证。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.