假设我有一个类的多类分类问题N
。我已经在训练集上训练了分类器,我使用验证集和 One-vs-rest ROC 曲线来给我N
ROC 曲线。
由于 ROC 曲线是根据我们将样本分类为的不同阈值创建的或不. 然后我们可以选择(我们的)最佳 FPR/TRP 比率并获得阈值(t
)例如,假设t=0.6
我们将样本分类为如果model_score>=0.6
其他“其余”即不是. (这张图片上的蓝色标记来自 sklearn)
问题是,在多类问题中,我们可以使用例如 one-vs-rest 并创建N
ROC 曲线(见下文,也来自 sklearn)
但现在我们有N
不同的阈值(在图中,N=3
因为我们有三个类)。假设我们在 one-vs-rest 中已将类的最佳阈值定义为
t1 = 0.8 (Class 1 vs rest)
t2 = 0.6 (Class 2 vs rest)
t3 = 0.4 (class 3 vs rest)
我们得到一个新样本,因此模型分数S= [0.3,0.4,0.3]
根据阈值,我们不会将其标记为任何类别,因为没有分数高于阈值。