当前位置: 代码迷 >> 综合 >> 二分类:评价指标(TPR、Recall、Precision、Accuracy、AUROC、AUPR)
  详细解决方案

二分类:评价指标(TPR、Recall、Precision、Accuracy、AUROC、AUPR)

热度:37   发布时间:2023-12-18 14:04:31.0

参考:
1、如何解释召回率、精确率?
2、什么是真、伪阳性率【详细讲解】
3、机器学习中的F1-score

一、定义

1、二分类情况下,有正、负样本(即:阳性、阴性)

2、根据真实类别、预测类别的不同,可以大致划分为以下四种情况:
在这里插入图片描述

1、真阳性率 TPR(True Positive Rate)

也叫召回率,Recall。是指正类样本中,有多少被正确预测为正类【针对于原来样本来说的】

正类样本:真阳、假阴

TPR=TP/(TP+FN)

区分

Precision,也叫精确率。是指被预测为阳性的样本中,有多少是预测正确的【针对于预测结果来说的】

Precision=TP/(TP+FP)

区分

Accuracy,也叫准确率。包括正、负样本

Accuracy = (TPR+TNR)/2

2、TNR、FPR、FNR,同理

真阴性率 TNR(True Negative Rate)
假阳性率 FPR(False Positive Rate)
假阴性率 FNR(True Negative Rate)

3、AUROC(Area Under ROC,ROC曲线下面积)

1、什么是ROC曲线?
在这里插入图片描述

【二分类是通过“阈值”来划分正、负类的】

横轴:FPR
纵轴:TPR
在这里插入图片描述

2、
在这里插入图片描述

4、AUPR(Area Under PR)

1、什么是PR曲线?

横轴:TPR
纵轴:Precision

也分别叫作
(1)查全率:说明你的模型或者方法可以预测出较多的数据
(2)查准率:说明所预测的样本的正确性较高

2、总结

pr曲线因为涉及到精确率precision计算,容易受到样本分布的影响。一般来说,用于平衡数据集。而ROC曲线则,既可以用于平衡数据集,也可以用于不平衡数据集

关于ROC、PR曲线的更详细解释

5、F1-Score在这里插入图片描述

6、实现

以上指标在具体python代码中,可以调用sklearn.metrics下的对应函数

1、sklearn.metrics.roc_auc_score(y_true, y_score, *, average=‘macro’, sample_weight=None, max_fpr=None, multi_class=‘raise’, labels=None)

2、sklearn.metrics.average_precision_score(y_true, y_score, *, average=‘macro’, pos_label=1, sample_weight=None)

2、sklearn.metrics.f1_score(y_true, y_pred, labels=None, pos_label=1, average=’binary’, sample_weight=None)

  相关解决方案