多类分类中的类不平衡问题

Posted

技术标签:

【中文标题】多类分类中的类不平衡问题【英文标题】: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 代码会很有帮助。

【问题讨论】:

【参考方案1】:

我相信大多数想在 MATLAB 中使用 SVM 的人都使用libSVM,它有一个 MATLAB 接口。它处理多类问题。 5000 个特征和 130 个实例应该没问题。

我不确定你是想使用类权重/先验还是使用成本敏感型学习来处理你的类不平衡,但你可以通过一些额外的工作来实现,请参阅 here 和 here 了解一些想法。

可以在 MATLAB 中使用 Statistics Toolbox 中的 cvpartition 实现 k 折交叉验证(即使您没有 Statistics Tolbox,也可以非常简单地编写代码)。

【讨论】:

以上是关于多类分类中的类不平衡问题的主要内容,如果未能解决你的问题,请参考以下文章