python绘制roc曲线
时间: 2023-09-25 08:16:21 浏览: 41
要绘制ROC曲线,可以使用Python中的scikit-learn库。以下是一个简单的例子,展示如何使用scikit-learn来计算和绘制ROC曲线。
首先,我们需要导入一些必要的库:
```python
from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt
```
然后,我们需要计算ROC曲线的FPR(假阳性率)和TPR(真阳性率)。我们可以使用`roc_curve`函数来计算它们:
```python
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
```
其中,`y_true`是真实标签,`y_scores`是预测得分。
接下来,我们可以使用上面计算得到的FPR和TPR来计算AUC(曲线下面积):
```python
roc_auc = auc(fpr, tpr)
```
最后,我们可以使用Matplotlib库来绘制ROC曲线:
```python
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()
```
完整的代码如下:
```python
from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt
# 计算ROC曲线的FPR和TPR
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
# 计算AUC
roc_auc = 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()
```
其中,`y_true`和`y_scores`需要替换为你的真实标签和预测得分。
阅读全文