由于 Harrell 提到的问题(不可靠的袋外估计),您在上面提出的拆分样本验证在许多领域变得不那么流行了。我知道 Harrell 在他的教科书中提到了这一点,但其他参考资料是 Steyerberg “Clinical Prediction Models” p301,James 等人 “An Introduction to Statistical Learning” p175。
在生物医学领域,自举重采样因此成为标准。这是在 Harrell 的 rms 包中实现的,因此非常容易实现。但是您真的可以使用任何其他重采样方法,bootstap 刚刚变得流行,因为 Steyerberg 的一篇文章表明它是最有效的重采样方法(“预测模型的内部验证:逻辑回归分析的某些程序的效率”) .
值得一提的是,rms 包的好处是它可以轻松地让您在引导程序中包含一些变量选择(内置逐步选择选项)。对于大多数商业软件包来说,这可能很难实现。
我自己的感觉是差异被过分强调了。无论使用何种方法,我通常都会得到非常可靠/一致的结果。对于大样本量,差异实际上是不存在的。
引导验证 - 以及其他重采样方法 - 也很容易出错。通常只有一些模型构建阶段包含在 bootstrap 中,给出了不准确的估计。另一方面,很难搞乱拆分样本验证。鉴于拆分采样的表面有效性——我知道你没有搞砸——我更喜欢拆分样本,除非它是一个非常小的数据集。在许多情况下,模型构建过程也非常复杂,以至于不能真正包含在重采样方法中。
但是,如果您想在生物医学期刊上发表文章,并且您没有使用医疗保险规模的数据库,那么您将需要使用重采样方法 - 可能是自举。如果数据集很大,您可能仍然可以使用 k-fold 发布并节省一些处理时间。