在尝试建立多类logistic回归模型时,我想绘制所有类的单向休息的ROC曲线。
这是我用来尝试生成ROC图的代码,
from sklearn.preprocessing import label_binarize
y_test1 = label_binarize(y_test, classes=[0,1,2])
y_pred1 = label_binarize(y_pred, classes=[0,1,2])
for i in range(3):
fpr[i], tpr[i], threshold = metrics.roc_curve(y_test1[:, i], y_pred1[:, i])
roc_auc[i] = metrics.auc(fpr[i], tpr[i])
for i in range(3):
plt.figure()
plt.plot(fpr[i], tpr[i], label='ROC curve (area = %0.2f)' % roc_auc[i])
plt.plot([0, 1], [0, 1], 'k--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver operating characteristic for Class ' + str(i) + ' VS rest')
plt.legend(loc="lower right")
plt.show()
最初,我能够生成图形,但是在遇到其他一些问题之后,我不得不重新安装anaconda。安装后,我无法获取图形,而是收到此错误消息:
ValueError: setting an array element with a sequence.
不知道为什么现在会产生错误,但以前却没有。谢谢!