在准确度良好时提高 roc auc 分数

数据挖掘 机器学习 scikit-学习 二元分类
2022-02-26 20:48:15

我有一个大数据集维度的二元分类问题 (1155918, 55)

数据集也相当平衡,67% 0 类,33% 1 类。

我在测试集中获得了 73% 的测试准确率,auc 得分为 50% 召回率为 0.02 类 1 我使用逻辑回归并尝试了 pycaret 的分类算法

在此处输入图像描述

1个回答

仅通过将每个实例预测为 0 类,多数基线分类器的准确率将达到 67%,因此 73% 的准确率并不是特别好。AUC 是一种信息量更大的度量,但 0.5 的 AUC 实际上是分类器可以做的最小值。

事实上,显然这个分类器并没有比基线分类器做得更多:

  • 第 1 类的召回率为 0.02,因此真阳性 (TP) 的数量为 67734*0.02=1355。
  • 第 1 类的精度为 0.36,因此预测的正数 (TP+FP) 为 1355/0.36=3763。
  • 这意味着分类器仅将 3763/(184508+67734)=1.5% 的实例预测为第 1 类,即使不平衡并不严重。

那么这会发生什么:大多数时候分类器无法成功区分这两个类,所以它只是预测多数类 0(98.5% 的时间)。

没有任何细节就不可能知道为什么,也许这些特征不是足够好的指标,也许有过度拟合,也许逻辑回归不是这个数据集的正确方法......