python画roc曲线
时间: 2023-07-11 21:00:16 浏览: 141
要画 ROC 曲线,需要以下步骤:
1. 计算出分类器的真正例率(True Positive Rate, TPR)和假正例率(False Positive Rate, FPR)。
2. 按照 FPR 递增的顺序对 TPR 进行排序,并绘制出曲线。
3. 计算出 AUC(Area Under Curve)。
下面是一份 Python 代码,可以用来画 ROC 曲线:
```python
from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt
import numpy as np
# y_true 是真实标签,y_score 是分类器的预测值
fpr, tpr, thresholds = roc_curve(y_true, y_score)
roc_auc = auc(fpr, tpr)
# 绘制 ROC 曲线
plt.figure()
lw = 2
plt.plot(fpr, tpr, color='darkorange',
lw=lw, label='ROC curve (area = %0.2f)' % roc_auc)
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()
```
其中,y_true 是真实标签,y_score 是分类器的预测值。这段代码使用了 `roc_curve` 函数计算出了 FPR 和 TPR,再使用 `auc` 函数计算出了 AUC。最后,使用 `matplotlib` 库绘制出 ROC 曲线。
阅读全文