我发现加权 SVM 是一种处理类不平衡问题的分类方法。我的数据集与罕见事件(少数类,标记为 1)和多数类(标记为 0)高度不平衡。因此,我实施了带有分层交叉验证的监督分类加权 svm 技术,因为它们能够处理类不平衡。我为 C 参数(boxconstraint)添加了额外的调整。训练是使用 5 折交叉验证方法完成的。该方法在训练集上运行良好。训练后我得到了很好的表现。我可以这么说是因为通过查看训练后的混淆矩阵。
厘米矩阵 =
1443 27
0 30
通常建议使用优化的超参数重新训练。因此,我再次在整个数据集上运行训练模型(重新训练),在同一数据集上进行预测。
问题:如果我给训练有素的 SVM 模型一个高度不平衡的看不见的新数据集(该集从未被模型使用,并且是测试集),则对该数据的预测完全偏向于多数类,如下所示
cmMatrix_TestData =
98 2
5 0
我哪里做错了?请帮忙,我实际上没有解决类不平衡问题的方法,而几篇文章和建议提出了这两种方法,但我无法让它对我有用。