最终(生产准备就绪)模型应该在完整数据上还是仅在训练集中进行训练?


23

假设我在训练集上训练了多个模型,请使用交叉验证集选择最佳模型,并在测试集上测量性能。所以现在我有了一个最终的最佳模型。我应该在所有可用数据上对其进行再培训还是仅在培训集中接受培训的船舶解决方案?如果是后者,那为什么呢?

更新:正如@ P.Windridge所指出的,交付经过重新训练的模型基本上意味着未经验证就交付了模型。但是我们可以报告测试集的性能,然后正确地在完整数据上对模型进行训练,以期期望性能更好-因为我们使用了最好的模型加上更多的数据。这种方法会引起什么问题?


您是否在外部监管的环境中工作?(即,可能您必须交付经过验证的模型,并且您的问题仅是假设的,但无论如何都值得讨论:))。编辑:好的,我看到你编辑了你的帖子。
P.Windridge,2015年

您是否认为您的测试数据可以代表总体/涵盖开发样本中未涵盖的一部分总体?您的原始开发样本是否在某种程度上不足?
P.Windridge,2015年

@ P.Windridge好,我的问题只是假设的。关于您的第二条评论,我相信没有人会期望工程师在给他无代表性的数据的同时训练好模型。
Yurii 2015年

1
我无法想象在许多情况下您会未经验证就运送模型。我宁愿减小测试样本的大小(但仍然要足够大才能进行验证!)。可能更有趣的讨论是基于/ all /数据的/ select /模型的利弊,然后使用子样本对其进行训练,然后对其余样本进行验证。
P.Windridge 2015年

1
类似的问题= stats.stackexchange.com/ questions/ 174026/…,尽管我认为它可以使用更多讨论
P.Windridge

Answers:


15

在对整个样本进行重新拟合后,您几乎总是会得到更好的模型。但是正如其他人所说,您没有验证。这是数据拆分方法中的一个基本缺陷。数据分割不仅失去了直接对整体模型中的样本差异进行建模的机会,而且不稳定,除非您的样本总数大于15,000个。这就是为什么要进行100次重复10倍交叉验证(取决于样本量)以实现精度和稳定性的原因,以及为什么用于强大的内部验证的自举甚至更好。引导程序还揭示了特征选择任务的难度和任意性。

我已经在生物医学研究的第10.11节“ 生物统计学”中详细描述了“外部”验证的问题。


我所在领域的术语(分析化学)会考虑在开始培训之前(之前)对数据进行的任何拆分都是内部验证。外部验证将在进行专门的验证研究和进行环形试验之间开始。
cbeleites支持莫妮卡

0

您无需重新培训。报告结果时,总是报告测试数据结果,因为它们可以提供更好的理解。通过测试数据集,我们可以更准确地查看模型在样本外数据上的效果。


4
我们可以报告测试集的性能,然后正确地在完整数据上对模型进行训练,以期期望性能更好-因为我们使用了最佳模式和更多数据。我的推理有缺陷吗?
Yurii

好吧,如果在测试之后,您收集了更多数据,那么您可以重新分割数据,再次对其进行训练,然后重新测试,然后从重新测试中报告测试结果。
Umar

6
通过不对整个样本进行估计,您就放弃了更高效率的机会。这是没有道理的。我也同意Yurii的上述评论。
理查德·哈迪

@RichardHardy,我的评论有什么问题吗?
Umar 2015年

我最后的评论中阐明了这一点。通过不使用所有数据来估计模型,您可以得到最高的可用效率。为什么这样
理查德·哈迪
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.