【发布时间】:2015-09-17 22:09:21
【问题描述】:
我正在使用 matlab perfcurve [X,Y,T,AUC] = perfcurve(labels,scores,posclass)
我对以下内容感到困惑。首先是一个基本示例,然后我将跟进我的问题
a) [X,Y,T,AUC] = perfcurve([1 1 1 0 0 0],[.9 .9 .9 .1 .1 .1],1) 产生 AUC = 1
b) [X,Y,T,AUC] = perfcurve([0 0 0 1 1 1],[.9 .9 .9 .1 .1 .1],1) 产生 AUC = 0
- 当我提供正类 (laebl=1) 时,它总是必须有更高的分数吗?
- 如果我让正类 (label=1) 的分数低于上述 b) 中的分数,ROC 曲线是否会翻转(与正常 ROC 曲线相反)
我使用数据生成的曲线如下所示。 图 1 是分数的分布。类以红色和蓝色显示。请注意,label=1(红色)类的得分较低。 红色->标签=1 蓝色-> 标签=0
下一张图是生成的 ROC 曲线。它基本上是我想看到的翻转图像。难道我做错了什么?还是这种行为与 label=1 分数低的类有关?
【问题讨论】: