使用Python将不同模型得到的ROC曲线画在同一张图中
时间: 2024-02-27 18:57:28 浏览: 158
利用Python画ROC曲线和AUC值计算
5星 · 资源好评率100%
可以使用matplotlib库来画出不同模型的ROC曲线并将其显示在同一张图中。以下是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, auc
# 假设有两个模型分别命名为model1和model2,它们分别得到了相应的预测概率值y_score1和y_score2以及真实标签y_true
fpr1, tpr1, _ = roc_curve(y_true, y_score1)
roc_auc1 = auc(fpr1, tpr1)
fpr2, tpr2, _ = roc_curve(y_true, y_score2)
roc_auc2 = auc(fpr2, tpr2)
# 绘制ROC曲线
plt.figure()
lw = 2
plt.plot(fpr1, tpr1, color='darkorange',
lw=lw, label='ROC curve (area = %0.2f)' % roc_auc1)
plt.plot(fpr2, tpr2, color='green',
lw=lw, label='ROC curve (area = %0.2f)' % roc_auc2)
plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')
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')
plt.legend(loc="lower right")
plt.show()
```
在这个示例中,我们使用了sklearn.metrics中的roc_curve和auc函数来计算每个模型的ROC曲线和AUC值,并使用matplotlib库将它们绘制在同一张图中。你可以根据需要修改代码来适应你的具体情况。
阅读全文