ROC-AUC曲线怎么画
时间: 2023-08-29 19:08:47 浏览: 68
ROC曲线是一种用于评估二分类模型性能的图形化工具,横轴为假阳性率(FPR),纵轴为真阳性率(TPR)。ROC曲线的面积被称为AUC(Area Under Curve),AUC值越大,模型的性能越好。
下面是画ROC曲线的步骤:
1. 首先,需要得到模型的预测结果和真实标签。一般来说,模型输出的是概率值,需要将概率值转换为二分类的预测结果(比如大于0.5为正例,小于等于0.5为负例)。
2. 然后,根据预测结果和真实标签计算出不同阈值下的TPR和FPR。
3. 接着,将不同阈值下的TPR和FPR用折线连接起来,得到ROC曲线。
4. 最后,计算ROC曲线下的面积AUC。
Python中可以使用scikit-learn库的roc_curve和roc_auc_score函数来画ROC曲线和计算AUC值。具体代码如下:
```python
from sklearn.metrics import roc_curve, roc_auc_score
import matplotlib.pyplot as plt
# y_true为真实标签,y_pred为预测概率值
fpr, tpr, thresholds = roc_curve(y_true, y_pred)
auc = roc_auc_score(y_true, y_pred)
plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % auc)
plt.plot([0, 1], [0, 1], 'k--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC Curve')
plt.legend(loc="lower right")
plt.show()
```
其中,y_true和y_pred分别为真实标签和预测概率值,fpr和tpr分别为不同阈值下的FPR和TPR,thresholds为阈值,auc为AUC值。