如果不平衡的处理方法不起作用怎么办
What if imbalanced processing methods doesn't work
我目前遇到的问题是分类结果不好 即使我使用了很多不平衡的处理技术,如resampling
、smote
、cost-learning
.
具体来说,我有一个数据集,difficult和easy在我的数据集中有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 折叠。
我目前遇到的问题是分类结果不好 即使我使用了很多不平衡的处理技术,如resampling
、smote
、cost-learning
.
具体来说,我有一个数据集,difficult和easy在我的数据集中有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 折叠。