如何绘制敏感性和特异性的ROC?

2024-06-16 10:41:43 发布

您现在位置:Python中文网/ 问答频道 /正文

特异性=1-FPR 我修改了代码如下:

plt.plot(1-fpr, tpr, 'b', label = 'AUC = %0.2f' % roc_auc)

但这个数字似乎是错的。 enter image description here

这是我在报纸上看到的。 enter image description here


Tags: 代码plotplt数字labelroc报纸特异性
1条回答
网友
1楼 · 发布于 2024-06-16 10:41:43

你对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曲线时,通常会使人们感到困惑的是,X轴上没有1 - specificity,而是specificity。当发生这种情况时,值的方向将反转(如图中所示),因此它从1变为0,而不是从0到1。在

相关问题 更多 >