如果不平衡的处理方法不起作用会怎样

时间:2017-08-11 13:31:35

标签: machine-learning classification cross-validation

我遇到的当前问题是分类结果 NOT GOOD ,即使我使用了许多不平衡的处理技术,例如resamplingsmotecost-learning。< / p>

具体来说,我有一个数据集,困难容易是我的数据集中的2个类。虽然我的数据集中的类分布服务不平衡(困难:easy = 187:13 )。

我使用random forest来训练我的模型并使用10-fold cross validation进行评估,然后结果就行了#34;没有策略&#34;。

然后我使用一些技术来处理这个不平衡的问题,但我只能得到如下非常低的实验结果(&#34;成本敏感&#34;,&#34; smote&#34;,&#34;重新采样&#34;),有些值甚至低于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

如何改进我的结果或其他任何高级技巧?在此先感谢:)

1 个答案:

答案 0 :(得分:0)

你想要优化什么?如果它是精确或召回,你也可以尝试改变概率阈值(即不使用&gt; 0.5来调用某些东西为'easy',你可以使用例如&gt; 0.2)。与它一起玩,看看使用CV的最佳阈值是什么。

另一种选择是使用最常见类的欠采样。因此,通过CV折叠,创建许多“折叠”,其中包含来自“简单”类别的所有值以及来自“困难”类别的一些值,以便它们是平衡的。在所有这些“折叠”上训练模型,然后全部用它们以整体方式预测实际的CV折叠。