如果不平衡的处理方法不起作用怎么办

What if imbalanced processing methods doesn't work

我目前遇到的问题是分类结果不好 即使我使用了很多不平衡的处理技术,如resamplingsmotecost-learning.

具体来说,我有一个数据集,difficulteasy在我的数据集中有2个类。虽然 类 分布在我的数据集中是不平衡的(困难:简单 = 187:13)。

我使用 random forest 训练我的模型并使用 10-fold cross validation 对其进行评估,然后结果在线 "no strategy"。

然后我使用一些技术来处理这个不平衡的问题,但是我只能得到非常低的实验结果如下("cost-sensitive","smote","resampling"),一些值是甚至低于 0.1.

Methods            P(d)  R(d)  F(d)  P(e)  R(e)  F(e)  Acc 
-------------------------------------------------------------
no strategy        0.000 0.000 0.000 0.935 0.995 0.964 0.930
cost-sensitive     0.500 0.077 0.133 0.939 0.995 0.966 0.935 
smote              0.500 0.077 0.133 0.939 0.995 0.966 0.935
resampling         0.500 0.077 0.133 0.939 0.995 0.966 0.935

我怎样才能改进我的结果或者是否有任何其他高级技术?提前致谢:)

您要针对什么进行优化?如果是精确率或召回率,您还可以尝试更改概率阈值(即不是使用 >0.5 来调用 'easy',您可以使用例如 >0.2)。试一试,看看使用 CV 的最佳阈值是多少。

另一种选择是使用最常见的欠采样 class。因此,使用 CV 折叠,创建许多 'folds',其中包含来自 'easy' 类别的所有值和一些来自 'difficult' 类别的值,以便它们是平衡的。在所有这些 'folds' 上训练一个模型,然后将它们全部用于以集成方式预测实际的 CV 折叠。