已知分类器的评分分别为:0.5, 0.3, 0.81, 0.22, 0.4, 0.56, 0.18, 0.36,他们对应的真实类别为:1, 0, 1, 1, 1, 0, 0, 0;编写python代码绘制该分类器的ROC曲线
时间: 2024-09-15 17:14:58 浏览: 41
为了绘制分类器的ROC曲线,我们可以使用Python的`scikit-learn`库,它包含了丰富的机器学习工具和绘图函数。首先,你需要安装这个库,如果还没有安装,可以使用命令`pip install scikit-learn`。以下是绘制ROC曲线的步骤:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, roc_auc_score
# 分类器得分和真实类别
scores = [0.5, 0.3, 0.81, 0.22, 0.4, 0.56, 0.18, 0.36]
true_classes = [1, 0, 1, 1, 1, 0, 0, 0]
# 将得分转换为二分类(例如大于阈值为正样本)
fpr, tpr, thresholds = roc_curve(true_classes, scores)
# 计算AUC分数(曲线下面积)
auc = roc_auc_score(true_classes, scores)
# 绘制ROC曲线
plt.figure()
plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % auc)
plt.plot([0, 1], [0, 1], 'k--', lw=2) # 对角线基准线
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic (ROC)')
plt.legend(loc="lower right")
plt.show()
阅读全文