召回与精度图

Posted

技术标签:

【中文标题】召回与精度图【英文标题】:recall vs precision graph 【发布时间】:2020-01-23 15:05:15 【问题描述】:

我正在尝试绘制精确率与召回率的图表,这是我的分类报告。我不知道如何绘制显示这些的图表。 这是我的分类报告代码

from sklearn.metrics import classification_report
print("")
print("Confusion Matrix")
print(confusion_matrix(Y_test, predictions))
print("")
print("Classification Report                                XGBOOST")
print(classification_report(predictions,Y_test))

输出:

Confusion Matrix
[[1163   55]
 [  46  665]]

Classification Report                                 xgboost
              precision    recall  f1-score   support

           0       0.95      0.96      0.96      1209
           1       0.94      0.92      0.93       720

    accuracy                           0.95      1929
   macro avg       0.95      0.94      0.94      1929
weighted avg       0.95      0.95      0.95      1929

我正在尝试做这样的事情:

使用图表显示我的精确度和召回率。

【问题讨论】:

看看sklearn.metrics.roc_curve 【参考方案1】:
from sklearn.metrics import precision_recall_curve
precision, recall, thresholds = precision_recall_curve(Y_test,predictions)
plt.step(recall, precision, color='b', alpha=0.2,
         where='post')
plt.fill_between(recall, precision, alpha=0.2, color='b')
plt.xlabel('Recall')
plt.ylabel('Precision')
plt.ylim([0.0, 1.05])
plt.xlim([0.0, 1.0])

试试这个。

【讨论】:

以上是关于召回与精度图的主要内容,如果未能解决你的问题,请参考以下文章

从精确召回曲线计算真阳性的数量

有关平均精度AP 和精确度-召回率曲线PR AUC的疑惑

精度评定中的准确率(Precision)和召回率(Recall)

聚合精度和召回率的实际重要性是啥?

Top-k 推荐中的召回率、召回率@k 和精度

python实现计算精度召回率和F1值