只了解不同模型的AUC值,如何使用Python代码将其变成ROC曲线并画在同一张图中
时间: 2024-02-21 07:01:06 浏览: 81
如果你只有不同模型的 AUC 值,可以使用以下代码将它们绘制在同一张 ROC 曲线图中:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve
# 不同模型的 AUC 值
auc_values = [0.85, 0.90, 0.92, 0.88]
# 画 ROC 曲线
plt.plot([0, 1], [0, 1], linestyle='--', lw=2, color='black')
colors = plt.cm.tab10(np.arange(4))
for i in range(len(auc_values)):
# 生成随机的假阳性率和真阳性率
fpr, tpr, _ = roc_curve(np.random.randint(0, 2, size=100), np.random.rand(100))
# 计算对应的 AUC 值
roc_auc = auc(fpr, tpr)
# 画 ROC 曲线
plt.plot(fpr, tpr, color=colors[i], lw=2, label='Model %d (AUC = %0.2f)' % ((i+1), auc_values[i]))
# 设置图像属性
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()
```
在上面的代码中,我们使用随机生成的数据来计算每个模型的 ROC 曲线和相应的 AUC 值,并使用 `plot` 函数绘制它们。我们使用 `tab10` 调色板中的颜色为每个模型分配不同的颜色,并使用 `label` 函数添加图例。`xlabel` 和 `ylabel` 函数分别设置 X 轴和 Y 轴的标签,`title` 函数设置图像标题,`legend` 函数添加图例,`show` 函数显示图像。你可以根据需要修改这些属性以及其他属性来自定义你的图像。
阅读全文