机器学习中的训练/测试数据集

时间:2020-03-26 17:11:26

标签: machine-learning train-test-split

我只是有一个一般性问题:

在上一份工作中,我的任务是建立一系列非线性模型,以量化某些因素对医疗索赔数量的影响。我们在所有模型中都有一组变量(例如:州,年份,性别等)。我们使用所有数据来构建这些模型。意味着我们永远不会将数据分为训练和测试数据集。

如果我要及时回到这项工作并将数据分为训练和测试数据集,那么该方法的优点除了评估我们模型的预测准确性外,还有什么好处。不拆分数据然后拟合模型的论点是什么?到目前为止,您从未真正考虑过太多-好奇为什么我们不采用这种方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

搁置测试集的唯一目的是评估预测准确性。但是,这不仅仅是检查数量并思考“呵呵,这就是我的模型的表现”!

了解模型在给定时刻的性能将为您提供潜在的模型改进基准。否则,您如何知道添加功能是否会提高模型性能?此外,您如何才能知道您的模型是否比单纯的随机猜测更好?有时候,极其简单的模型要胜过更复杂的模型。

另一件事是特征或观察结果的删除。这在某种程度上取决于您使用的模型的类型,但是如果您从数据中删除了不重要的特征,则某些模型(例如k-Nearest-Neighbors)的性能会明显提高。同样,假设您添加了更多的训练数据,并且模型的测试性能突然下降。新的观察结果可能有问题吗?您应该注意这些事情。

我不考虑不使用测试集的唯一理由是,否则培训模型的训练数据就太少了。