roc曲线代码python
时间: 2023-10-13 08:23:02 浏览: 110
利用Python画ROC曲线和AUC值计算
5星 · 资源好评率100%
以下是使用scikit-learn库绘制ROC曲线的Python代码示例:
```python
from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt
# y_true为实际结果,y_score为预测结果的概率
fpr, tpr, thresholds = roc_curve(y_true, y_score)
roc_auc = auc(fpr, tpr)
# 绘制ROC曲线
plt.plot(fpr, tpr, lw=1, label='ROC (area = %0.2f)' % (roc_auc))
plt.plot([0, 1], [0, 1], '--', color='gray', label='Random guess')
plt.xlim([-0.05, 1.05])
plt.ylim([-0.05, 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`为实际结果,可以是二元分类问题中的真实标签,也可以是多元分类问题中的one-hot编码;`y_score`为预测结果的概率,可以使用分类模型的`predict_proba()`方法得到。函数`roc_curve()`返回三个数组,分别为false positive rate,true positive rate和阈值。函数`auc()`计算ROC曲线下面积。最后使用matplotlib库绘制ROC曲线。
阅读全文