如何在不平衡分类下提高精度

数据挖掘 机器学习 预测建模 异常检测 阶级失衡 异常
2022-02-15 05:38:53

我正在使用一个不平衡的数据集(罕见的正例)来学习预测模型,最终好的 AUC 为 0.92,但 F1 分数非常低 0.2。

是否可以添加一些会改变类概率分布的关键特征,从而我们可以获得一个阈值来生成更高的 F1?

这是一个例子:

在我的原始模型中,我得到了如下所示的类概率分布: 在此处输入图像描述

我可以调整阈值以提高精度,但同时切断一些召回。这是由于两个分布之间的重叠区域很大。

然后我使用一个极端数据集,即将目标本身作为学习的特征。结果,我可以看到我将分布完全脱节。在此处输入图像描述

这是否意味着如果我引入一个强大的特征,我可以在一定程度上分割分布,从而提高精度,从而提高 f1 分数?或者请告知如何在不平衡分类问题下提高精度。

非常感谢

1个回答

引入一个强大的功能肯定会有所帮助,因为它是“强大的”:-) .. 如果您没有确定成功的功能,那么您可以尝试更改错误分类的惩罚。

您可以尝试合成(即 SMOTE)或非合成(基于域)的方法来增加较低的类别。

此外,如果这是一个非常罕见的类,重复抽样技术可能会起作用