利用python画roc曲线和auc值计算
时间: 2023-05-08 10:00:26 浏览: 150
main_roc_python_AUC_PR曲线_ROC曲线_
5星 · 资源好评率100%
ROC曲线和AUC值是描述二元分类模型性能的重要指标。Python作为一种高效的编程语言,提供了很多画ROC曲线和计算AUC值的工具。
要画ROC曲线,需要先得到模型的预测概率分数和真实标签。然后,可以使用sklearn.metrics包中的roc_curve和auc函数进行计算和绘图。具体步骤如下:
1. 从模型中得到预测概率分数和真实标签(0或1)。
2. 使用roc_curve函数计算出不同阈值下的真正率(True Positive Rate)和假正率(False Positive Rate)。
3. 使用plt.plot函数画出ROC曲线,并使用plt.show函数显示结果。
4. 使用auc函数计算AUC值。
示例代码如下:
```
from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt
# 获取预测概率分数和真实标签
y_pred = model.predict_proba(X_test)[:,1]
fpr, tpr, thresholds = roc_curve(y_test, y_pred)
# 画ROC曲线
plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % auc(fpr, tpr))
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('Receiver operating characteristic')
plt.legend(loc="lower right")
plt.show()
# 计算AUC值
auc_value = auc(fpr, tpr)
print('AUC value is: %.2f' % auc_value)
```
在这个示例中,我们使用model.predict_proba函数获取模型的预测概率分数,X_test为测试数据,y_test为测试数据的真实标签。我们使用roc_curve函数计算出不同阈值下的真正率和假正率,并使用plt.plot函数画出ROC曲线。我们使用auc函数计算ROC曲线下的面积即AUC值,并输出AUC值。
阅读全文