对于specificity = 1 - FPR我把代码改成如下:plt.plot(1-fpr, tpr, 'b', label = 'AUC = %0.2f' % roc_auc)但是这个数字似乎是错误的。这是我在纸上看到的。
4 回答
HUH函数
TA贡献1836条经验 获得超4个赞
您对 ROC 曲线的理解有误。ROC 曲线绘制了不同阈值下的真阳性率(敏感性)tpr = tp / (tp + fn)
与假阳性率(1 - 特异性)1 - (tn / (tn + fp)
的关系。现在,我看到你的标题表明你想要一个“敏感性和特异性的 ROC”,但实际上不存在这样的东西。解决敏感性和特异性的方法是通过 ROC 曲线。
为了获得 ROC 曲线,将绘图更改为:
plt.plot(fpr, tpr, 'b', label = 'AUC = %0.2f' % roc_auc)
您可以从上面的解释中了解如何计算假阳性率和真阳性率。
然后,在解释 ROC 曲线时,您希望分类器尽可能靠近左上角,表示低假阳性率(高特异性)和高真阳性率(高灵敏度)。话虽如此,假阳性率并不代表特异性,而是特异性的阴性。这就是为什么你希望它是最小的。
最后但并非最不重要的一点是,当涉及到 ROC 曲线时,经常会让人感到困惑的情况是,当1 - specificity
X 轴上没有specificity
. 发生这种情况时,值的方向会反转(如图所示),因此它从 1 到 0 而不是从 0 到 1。
添加回答
举报
0/150
提交
取消