首页 > 解决方案 > 处理不平衡的分类数据?

问题描述

我正在构建一个预测模型,在此模型上我预测客户是否会再次订阅。我已经有了数据集,问题是它不平衡(NO 多于 YES)。我相信我的模型是有偏差的,但是当我检查训练集和测试集的准确率时,准确率非常接近(训练集为 0.8879,测试集为 0.8868)。我感到困惑的原因是,如果我的模型有偏差,为什么我的训练和测试集的准确性接近?还是我的模型没有偏见?

标签: machine-learningimbalanced-data

解决方案


快速响应:是的,您的模型很可能将所有内容预测为Majority Class

让我们以更简单的方式考虑它。您在训练过程中有一个优化器,它试图最大化准确性(最小化错误分类)。假设您有一个包含 1000 张图像的训练集,并且该数据集中只有 10 只老虎,并且您打算学习一个分类器来区分老虎和非老虎。

优化器很可能会为每张图像预测总是非老虎。为什么?因为它是一个更简单的模型,更容易(在更简单的空间中)实现,而且它的准确率也达到了 99%!

我建议您阅读有关imbalanced data问题的更多信息(这似乎是一个很好的开始https://machinelearningmastery.com/what-is-imbalanced-classification/)根据您要解决的问题,您可能会尝试down-sampling,或over-sampling更高级的解决方案,例如更改损失函数和指标,使用 F1 或 AUC 和/或进行排名而不是分类。


推荐阅读