我目前有一个模型,它有一个相当大的数据集(50 50ishMB),并且以80:20的比例执行得很好。然而,当我尝试将其更改为50:50的分割时,该模型的表现比80:20的拆分要好28%。注意,这是一个时间序列问题。
既然我已经对模型进行了评估,以便在数据分割中表现得更好,那么更多地向前推进还是应该继续进行80:20的分割呢?为什么?
发布于 2021-12-05 08:28:14
为培训分配更多的示例可以使您的模型暴露在数据中更多类型的隐藏模式中&想必会学习更好的表示。在为测试分配更多示例的同时,您可以更好地对这些数据模式进行评估。最终,这是您所做的项目特定的权衡。
cross validation让我们最好使用所有的数据来学习和评估。learning curves以查看您的模型在不同数据量下的学习情况。一旦它稳定下来,您就可以为评估分配多余的数据。ship-gates (单元测试等效)数据集来捕获各种数据场景。stratified sampling、imbalance handling等,而不是随机拆分。通常分配更多的数据用于培训。我认为,在50:50的数据分割中,由于学习示例较少,所以可以感知到性能的提高仅仅是因为产生了一个不太合适的模型。
发布于 2021-12-05 13:01:12
通常不建议使用50:50的分割。人们通常保存更多的数据用于培训,而用于测试/验证的数据则较少。
您拥有的培训数据越多,模型捕获的数据就越多,测试数据越多,您经过培训的模型就会得到更好的评估。这是两者之间的一种权衡,最终你必须决定你更喜欢哪一种。
既然您提到您有一个大的数据集,那么选择50:50与如果您有一个小的数据集相比就不会有那么大的问题了。但仍然会有一些数据模式,您可能会错过,这反过来将使您的模型不那么通用,所以请记住这一点!
这种权衡的一个可能的解决方案是cross-validation (最好是nested cross-validation)。这样,即使您有较少的培训数据,您的模型将以最好的方式使用所有这些数据。
干杯!
https://datascience.stackexchange.com/questions/104782
复制相似问题