Train/Test 机器学习中的数据集

Train/Test Datasets in Machine Learning

我有一个一般性问题:

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

如果我回到过去从事这项工作并将数据分成训练和测试数据集,那么除了评估我们模型的预测准确性之外,这种方法还有什么优势。不拆分数据然后拟合模型的理由是什么?直到现在才真正考虑太多 - 很好奇为什么我们不采用这种方法。

谢谢!

留出测试集的唯一目的是评估预测准确性。然而,这不仅仅是检查数字和思考 "huh, that's how my model performs"!

了解您的模型在给定时刻的表现可为您提供一个重要的模型潜在改进基准。否则你怎么知道添加特征是否会提高模型性能?此外,您怎么知道您的模型是否比单纯的随机猜测更好?有时,极其简单的模型胜过更复杂的模型。

另一件事是移除特征或观察。这在一定程度上取决于您使用的模型类型,但如果您从数据中删除不重要的特征,某些模型(例如 k-最近邻)的性能会好得多。同样,假设您添加了更多的训练数据,突然您的模型的测试性能显着下降。也许新的观察结果有问题?你应该知道这些事情。

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