精确率-召回率曲线的绘制python
时间: 2024-12-13 18:19:03 浏览: 15
Python-基于python快速生成全分类器测试报告
在Python中,你可以使用`scikit-learn`库来绘制精确率-召回率(Precision-Recall, PR)曲线。以下是一个简单的例子:
```python
from sklearn.metrics import precision_recall_curve
import matplotlib.pyplot as plt
# 假设你已经有了实际标签(y_true)和预测概率(y_scores)
y_true = ... # 样本真实标签
y_scores = ... # 根据模型预测的概率得分
# 计算精确率和召回率
precision, recall, thresholds = precision_recall_curve(y_true, y_scores)
# 绘制PR曲线
plt.plot(recall, precision)
plt.xlabel('Recall')
plt.ylabel('Precision')
plt.title('Precision-Recall Curve')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05]) # 预留一些空间显示曲线
plt.show()
```
在这个例子中,`precision_recall_curve`函数返回三个数组:精确率(precision)、召回率(recall)和阈值(thresholds)。你可以通过调整阈值来改变预测类别,进而观察精确率和召回率的变化。曲线越靠近顶部左角(即高精确度和高召回率),模型性能越好。
如果你想保存图形,可以将`show()`替换为`savefig()`函数,并指定文件名。
阅读全文