[英]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.