【发布时间】:2021-09-07 07:25:10
【问题描述】:
我最初认为分割训练、验证和测试数据的一个好的经验法则是 60-20-20。但是,最佳答案here 似乎建议使用 80:20 进行训练和测试,然后将 80% 中的 20% 用于验证数据(这相当于使用 Keras 的 model.fit 进行 0.2 的验证拆分())。但是,在这种情况下,这不是 60-20-20 —— 这里测试数据的大小明显大于验证数据的大小。
例如,如果总共有 100 个样本,其中 80% 用于训练,则剩下 80 个样本用于训练,另外 20% 用于测试,使用 20 个样本。
如果您取 80% 中的 20%,则改为取 80 中的 20%,即 16。这总体上意味着训练、验证和测试分别占 64%-16%-20%。
这仍然是正确/好的/一个好的经验法则吗?或者我应该从 80% 中取出总数的 20% 进行测试——这样在这种情况下,我将取出 25% 的训练数据,以便将 20 个样本分配给验证集,我现在有 60 个-20-20 分裂?
对于更合适/标准的做法,为什么会这样?是否有一个标准的、传统的选择?
【问题讨论】:
标签: validation machine-learning training-data test-data datasplice