【问题标题】:class imbalance issue in multi-class classification多类分类中的类不平衡问题
【发布时间】:2013-06-07 21:12:58
【问题描述】:
我需要一个多类分类器代码,它可以在以下类不平衡问题中工作:
- 1 级--> 80%
- 2 级--> 7.5%
- 3 级--> 6%
- 4 级--> 4%
- 5 级--> 2.5%
总共只有 130 个实例,每个实例大约有 5000 个特征。
我找到了一个多类 SVM 代码,但我认为它没有考虑到类不平衡问题。此外,我还需要进行某种 k 折交叉验证。
python 或 matlab 代码会很有帮助。
【问题讨论】:
标签:
python
matlab
classification
svm
【解决方案1】:
我相信大多数想在 MATLAB 中使用 SVM 的人都使用libSVM,它有一个 MATLAB 接口。它处理多类问题。 5000 个特征和 130 个实例应该没问题。
我不确定你是想使用类权重/先验还是使用成本敏感型学习来处理你的类不平衡,但你可以通过一些额外的工作来实现,请参阅 here 和 here 了解一些想法。
可以在 MATLAB 中使用 Statistics Toolbox 中的 cvpartition 实现 k 折交叉验证(即使您没有 Statistics Tolbox,也可以非常简单地编写代码)。