python绘制roc曲线
时间: 2023-09-25 09:16:36 浏览: 27
以下是使用Python绘制ROC曲线的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 构造模拟数据
y_true = np.array([0, 0, 1, 1, 1, 0, 1, 0, 1, 0])
y_score = np.array([0.1, 0.3, 0.4, 0.6, 0.8, 0.2, 0.7, 0.5, 0.9, 0.1])
# 计算FPR和TPR
fpr, tpr, thresholds = metrics.roc_curve(y_true, y_score)
# 计算AUC
roc_auc = metrics.auc(fpr, tpr)
# 绘制ROC曲线
plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='navy', lw=2, 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()
```
解释:
1. 首先,我们定义了一个模拟数据集。`y_true`是实际标签,`y_score`是预测得分。
2. 使用`metrics.roc_curve`计算FPR和TPR。
3. 使用`metrics.auc`计算AUC。
4. 使用`plt.plot`绘制ROC曲线。
5. 使用`plt.plot`绘制对角线,表示随机猜测的效果。
6. 设置横轴和纵轴的标签,并设置标题。
7. 使用`plt.legend`添加图例。
8. 使用`plt.show`显示图形。
注意,这里使用了`sklearn.metrics`模块中的`roc_curve`和`auc`函数来计算ROC曲线和AUC。如果您还没有安装该模块,可以使用以下命令进行安装:
```python
!pip install scikit-learn
```