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

Machine learning 机器学习中的训练/测试数据集,machine-learning,train-test-split,Machine Learning,Train Test Split,我只是有一个一般性的问题: 在以前的工作中,我的任务是建立一系列非线性模型,以量化某些因素对提交的医疗索赔数量的影响。我们在所有模型中都会用到一组变量(例如:州、年、性别等)。我们使用我们所有的数据来建立这些模型;这意味着我们从不将数据拆分为训练和测试数据集 如果我及时回到这项工作中,将数据分为训练和测试数据集,那么除了评估我们模型的预测准确性之外,这种方法还有什么好处呢。不拆分数据然后拟合模型的理由是什么?直到现在,我才真正想过太多——奇怪的是为什么我们没有采取这种方法 谢谢 搁置测试集的唯一

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

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

如果我及时回到这项工作中,将数据分为训练和测试数据集,那么除了评估我们模型的预测准确性之外,这种方法还有什么好处呢。不拆分数据然后拟合模型的理由是什么?直到现在,我才真正想过太多——奇怪的是为什么我们没有采取这种方法


谢谢

搁置测试集的唯一目的是评估预测准确性。然而,这不仅仅是检查数字和思考“嗯,这就是我的模型的表现”

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

另一件事是去除特征或观察。这在一定程度上取决于您使用的模型的类型,但如果您从数据中删除不重要的特征,则某些模型(例如,k近邻)的性能会显著提高。类似地,假设您添加了更多的训练数据,并且模型的测试性能突然显著下降。也许新的观察结果有问题?你应该意识到这些事情


我能想到的不使用测试集的唯一理由是,否则,模型的训练数据太少,无法达到最佳性能。

测试数据的目的是让您了解模型在看不见的数据上可能会如何执行。我认为很少有人说你不想在实际使用之前对模型进行评估。我们在那份旧工作中使用的数据集有数百万条记录,所以我不确定——也许这就是他们多年来一直在做的事情,从未考虑过替代方案。