繁体   English   中英

Plot ROC曲线使用sklearn

[英]Plot ROC curve using sklearn

我尝试用 sklearn 创建 ROC 曲线,下面是我的代码

from sklearn.metrics import roc_curve
fpr_keras, tpr_keras, thresholds_keras = roc_curve(validation_generator.classes, y_pred_label_indices)

当我打印

打印(fpr_keras):

[0.    0.48  0.568 0.584 0.632 0.648 0.664 0.68  0.992 0.992 1.    1.   ]

打印(tpr_keras)

[0.    0.    0.    0.    0.    0.    0.    0.    0.    0.016 0.016 1.   ]

打印(阈值_keras)

[2.0000000e+00 1.0000000e+00 9.9999988e-01 9.9999976e-01 9.9999893e-01
 9.9999881e-01 9.9999833e-01 9.9999821e-01 9.6940529e-01 6.8794215e-01
 5.7934558e-01 1.9927023e-05]

但是当我使用这段代码绘制它时:

plt.plot(fpr_keras, tpr_keras, thresholds_keras)
plt.plot([0,1], [0,1], 'r--')
plt.xlim([0, 1])
plt.ylim([0, 1])

我懂了:

在此处输入图像描述

为什么会这样?,我的代码有问题吗?

ROC 曲线仅是 fpr 和 tpr 的 plot。 要绘制 ROC 曲线,您应该这样做plt.plot(fpr,tpr)

但是,根据您提供的数据,ROC 曲线的结果非常糟糕。

现在,您在上面显示的 plot 是以下结果

plt.plot([0,1], [0,1], 'r--') plt.xlim([0, 1]) plt.ylim([0, 1])只是不是 ROC 曲线

尝试分别运行这两个代码。 你会明白的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM