具有不平衡数据集的二元分类问题,如何与随机分类器进行比较

数据挖掘 预言 阶级失衡 二进制
2022-03-05 12:48:31

我们有一个非常不平衡的数据集(第 1 类的 2%)。据我们所知,文献中没有我们想要解决的问题的基线——因此我们考虑将我们的性能与随机分类器进行比较。我们将模型评估为精度和召回率的组合——我们改变数据点分类为 1 的阈值并计算滚动阈值和召回率。我们也可以使用 F1 分数。

定义一个可以与我们的模型进行比较的随机预测器的可接受方法是什么,以便比较尽可能公平?

2个回答

你有98%在一堂课,对吧?这意味着,在对数据一无所知的情况下,您应该能够得到98%他们中的大多数人猜对了。如果你得到97%他们是对的,这听起来像A在学校,因此是一个很好的模型,但模型比随机猜测更糟糕!

更好的是,将使用适当的评分规则(如对数损失(交叉熵)或 Brier 评分)与始终预测先验概率的模型进行比较P(y=1)=0.02. 这类似于如何R2在线性回归中工作,总是猜测y多变的。在你的情况下,平均值y变量是班级比例。如果你无法击败总是猜测的模型P(y=1)=0.02,也许你的模型很差。(具体情况取决于错误分类成本,您可能知道也可能不知道。)

Log LossL(y,y^)=1Ni=1N(yilog(y^i)+(1yi)log(1y^i))
Brier ScoreL(y,y^)=1Ni=1N(yiy^i)2

这假设您的yi{0,1}. 如果你使用yi{1.1},您将不得不修改损失函数或更改您标记类别的方式。y^i值是概率。如果您预测的概率0或者1. 有些人认为这是日志丢失的一个好处,而另一些人则认为这是一个坏处。

这种对概率输出的评估是为什么统计学家不将类别不平衡视为问题的原因。

由于您对不同的决策阈值感兴趣,因此您的随机模型应该产生分数。在这种情况下,一个合理的基线模型会随机均匀地分配一个分数[0,1]. 这样的模型将在阈值t, 有

precision=2%N(1t)N(1t)=0.02,recall=2%N(1t)2%N=1t.

(也许一个非常简单的模型可以作为更好的基准。)