生产中模型的性能与训练测试数据有很大差异

数据挖掘 机器学习 监督学习 准确性
2021-09-20 16:46:09

我想知道是否有人对从哪里开始挖掘这个问题有任何建议。我有一个经过开发的模型,所有训练/cv/测试数据集的准确性和 F 分数现在都在 95% 以上。整个开发数据集大约有 60k 个样本,其中正样本和负样本各占 2/3。这些样本基于去年 1 月至 11 月的提取物。最终测试结果是:

精度:0.9751 召回率:0.9320 准确率 0.9693 F 分数 0.9531

然而,生产中的第一次运行显示出非常高的精度:95%+,但召回率非常低:~50%。准确度 = 48%,FScore = 68%。

小组对此的任何想法,在哪里寻找,潜在的原因。我们将在接下来的几个月内运行此程序,因为圣诞节期间我们可能会出现异常变化,但我们感到惊讶。任何帮助表示赞赏。谢谢

1个回答

这在过去发生在我身上。

我要问自己的第一个问题是,我如何拆分训练集、验证集和测试集?第二个是,我的生产数据与训练/验证/测试中的生产数据是否在同一域中?

有时数据的简单拆分仍可能导致测试数据泄漏到验证甚至测试数据中,这是我们想要研究用户行为的域的情况,通常您不会希望相同的用户在训练/测试/验证集(也就是说,理想情况下,用户应该留在同一个数据集中)。

除此之外,看起来您可能只是过度拟合数据。