关于不均衡数据的处理方法,主要有以下几个方面:
1. 采样的方法
1.1 过采样,采集类标少的样本,达到平衡样本的目的。
方法一,简单的复制类标少的样本
方法二,生成人工样本(SMOTE方法),MATLAB代码 SMOTE (Synthetic Minority Over-Sampling Technique) - File Exchange - MATLAB Central
1.2 下采样,将大样本随机分成N类,结合类标少的样本进行训练N个模型,最后结果是N个模型的加权平均来刻画。
2. 基于名义变量的方法,也就是代价敏感函数方法。
cost-sensitive learning, penalized-SVM
3. RUSBoostcan be implemented in Matlab using the 'fitensemble' technique.
Using classifiers which can handle the imbalance problem such as the RUSBoost technique
Matlab代码可见
RUSBoost
以上方法的所有细节可参看下面的博文
(4)Quora上面的解答:https://www.quora.com/In-classification-how-do-you-handle-an-unbalanced-training-set
翻译见:http://blog.csdn.net/heyongluoyao8/article/details/49408131