我们通常使用平衡数据集训练模型。即使我们没有平衡数据集,我们也会使用 SMOTE 等方法创建平衡数据集进行训练。
问题是 - 当训练模型在不平衡的数据集上实施时,它的可靠性如何(例如,在现实世界的场景中,异常通常很少见)?为什么我们不能只用不平衡的数据集训练和测试模型?
我们通常使用平衡数据集训练模型。即使我们没有平衡数据集,我们也会使用 SMOTE 等方法创建平衡数据集进行训练。
问题是 - 当训练模型在不平衡的数据集上实施时,它的可靠性如何(例如,在现实世界的场景中,异常通常很少见)?为什么我们不能只用不平衡的数据集训练和测试模型?
您绝对可以在不平衡的数据集上训练模型,但这通常会导致性能下降。就个人而言,我总是这样做是为了衡量应用 SMOTE 或相关技术的效果。
在许多情况下,少数类的代表性样本太少而无法对其进行准确建模,从而导致所得模型的泛化性能较差。这就是 SMOTE 等方法试图纠正的方法。
在测试你的结果模型时,你不应该使用你的重新平衡集,因为这会引入偏差和各种其他令人讨厌的问题。您希望测试集与您的模型必须在野外处理的数据尽可能接近
为了更深入地阅读,我建议阅读以下论文: