【发布时间】:2015-01-16 12:32:02
【问题描述】:
我正在尝试构建接收器操作特征 (ROC) 曲线来评估我的分类器正确分类患病和未患病受试者的能力。
据我了解,曲线越靠近左侧边界,然后是 ROC 空间的顶部边界,测试越准确。我的实验给了我非常理想的曲线下面积 (auc) 值,即 0.86458。然而,ROC 曲线(我在其中包含了用于追踪目的的截止点)似乎很奇怪,因为它给了我如下直线:
...而不是我预期的曲线,正如我通常从这样的任何参考资料中看到的那样:
这与使用的观察次数有关吗? (在这种情况下,我只有 50 个样本)。或者只要 auc 值很高并且“曲线”高于 ROC 空间的 45 度对角线,这就可以了吗?如果有人可以分享他们对此的想法,我会很高兴。谢谢!
顺便说一下,我在matlab中使用了perfcurve()函数:
% ROC comparison between the proposed approach and the baseline
[X1,Y1,T1,auc1,OPTROCPT1,SUBY5,SUBYNAMES1] = perfcurve(testLabel,predlabel_prop,1);
[X2,Y2,T2,auc2,OPTROCPT2,SUBY2,SUBYNAMES2] = perfcurve(testLabel,predLabel_base,1);
figure;
plot(X1,Y1,'-r*',X2,Y2,'--ko');
legend('proposed approach','baseline','Location','east');
xlabel('False positive rate'); ylabel('True positive rate')
title('ROC comparison of the proposed approach and the baseline')
text(0.6,0.3,{'* - proposed method',strcat('Area Under Curve = ',...
num2str(auc1))},'EdgeColor','r');
text(0.6,0.15,{'o - baseline',strcat('Area Under Curve = ',num2str(auc2))},'EdgeColor','k');
【问题讨论】:
标签: matlab statistics data-mining roc