我有一个二元分类任务,两个类之间不平衡。我想将 SMOTE 与缩小多数班级的规模与少数班级的规模进行比较。
我使用两种方法对分类器进行了 3 倍验证:
- SMOTE 将少数类的大小增加到多数类的大小
- 使用随机子抽样将多数类缩小为少数类
为了测试哪种方法效果更好,我用 3 倍交叉验证训练了我的分类器(随机森林)。
我从 3-fold CV 得到的混淆矩阵似乎促进了 SMOTE 的使用(这两个类的分类性能更好)。我假设这个简历可以用来选择最好的方法。
然而,当我在一个真实的测试集上测试分类器(它被排除在外,不用于训练或验证)时,我没有看到 SMOTE 算法对多数类的随机子样本有真正的优越性。少数类被更好地分类,但以牺牲多数类的性能为代价。
这是 SMOTE 算法的限制还是我的模型选择方法(使用 3 倍 CV)有一些缺陷?