ML 模型的输入数据有多重要?

数据挖掘 机器学习 预测建模 机器学习模型
2022-02-28 17:33:13

过去 4-6 周,我第一次学习和工作于 ML。阅读博客、文章、文档等并练习。在 Stack Overflow 上也问了很多问题。

虽然我有一定的实践经验,但仍然有一个非常基本的疑问(困惑)——当我输入包含 1000 条记录的数据集时,模型预测准确度为 75%。当我保留 50000 条记录时,模型准确率为 65%。

1)这是否意味着模型完全根据输入的 i/p 数据做出响应?

2) 如果#1 为真,那么在我们无法控制输入数据的现实世界中,模型将如何工作?

前任。为了向客户推荐产品,模型的输入数据将是过去的客户购买体验。随着输入数据的增加,预测精度会提高还是降低?

如果我需要为我的问题添加更多详细信息,请告诉我。

谢谢。

编辑 - 1 - 下面添加了我的输入数据的频率分布:

在此处输入图像描述

编辑 - 2 - 添加混淆矩阵和分类报告:

在此处输入图像描述 在此处输入图像描述

2个回答

要回答您的第一个问题,模型的准确性很大程度上取决于输入数据的“质量”。基本上,您的训练数据应该代表与最终模型部署环境相同的场景。

您提到的情况发生的可能原因有两个,

  1. 当您添加更多数据时,新示例的输入特征和标签之间可能没有良好的关系。总有人说,少而干净的数据比大而杂乱的数据要好。

  2. 如果后面添加的 49000 条记录与之前的 1000 条记录来自同一个集合(即标签和特征之间具有良好的关系),那么还有两个可能的原因

    A. 如果训练数据集的准确性与测试数据集一样小。例如,训练准确率为 70%,测试准确率为 65%,那么您的数据拟合不足。模型非常复杂,数据集的示例数量很少。

    B. 如果你的训练准确率接近 100%,测试准确率是 65%,那么你就是过拟合数据。模型很复杂,所以你应该使用一些简单的算法。

    注意*由于您没有提到训练准确性,因此很难说上述两个发生了什么。

现在来回答关于实际部署的第二个问题。随着时间的推移,有一种叫做模型过时的东西,基本上是随着时间的推移降低模型准确性的问题。这是 Google 产品经理的文章,解释了过时问题以及如何解决它。这将回答你的第二个问题。

如果有不清楚的地方,请告诉我。

有一个错误的神话,即更多的数据意味着更好的分类。该模型还需要建立其复杂性,否则该模型只是过度拟合数据。

仅从数据中抽取几个随机样本是训练模型的最佳策略,而不是输入我们能找到的每一位数据。