模型在训练(平衡数据集)与生产(不平衡数据集)中的精度

Precision of a model in training (balanced dataset) versus production (imbalanced dataset)

我有一个用于模型训练目的的平衡数据集。有两个类。我的模型的精度为 50%,这意味着对于 100 个样本,它预测 50 个样本为阳性,而在这 50 个样本中,只有 25 实际上是阳性。该模型基本上和抛硬币一样好。

现在在生产中,数据非常不平衡,比如说 100 个样本中只有 4 个是阳性的。我的模型是否仍具有相同的精度?

我的理解是,我的抛硬币模型会将 50 个样本标记为阳性,其中只有 2 个样本实际上是阳性,因此生产中的精度为 4% (2/50)。

在平衡数据集上训练的模型在生产中会有不同的精度是真的吗?

这取决于:在这 50 个分类为阳性的样本中,是否所有 25 个真正的阳性样本都被正确分类了? 如果您的模型正确地将每个阳性样本预测为阳性,然后将阴性样本预测为阳性(高灵敏度,低特异性),我认为您的精度将在 8% 左右。尽管如此,你应该重新审视你的训练,因为 fpr 50% 精度你不需要 ML 模型,而是 one-liner 生成一个介于 0 和 1 之间的随机变量。