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

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

一、定义

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

2、根据真实类别、预测类别的不同,可以大致划分为以下四种情况:
二分类:评价指标(TPR、Recall、Precision、Accuracy、AUROC、AUPR)_第1张图片

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
二分类:评价指标(TPR、Recall、Precision、Accuracy、AUROC、AUPR)_第2张图片

2、
在这里插入图片描述

4、AUPR(Area Under PR)

1、什么是PR曲线?

横轴:TPR
纵轴:Precision

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

2、总结

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

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

5、F1-Score二分类:评价指标(TPR、Recall、Precision、Accuracy、AUROC、AUPR)_第3张图片

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)

你可能感兴趣的:(pytorch,机器学习)