AI面试题⑥--分类问题常用的性能度量指标(评价指标)

分类问题常用的性能度量指标有精确率、召回率、F1、TPR、FPR。

分类问题度量指标的基础是混淆矩阵:
在这里插入图片描述

上表中:
TP表示正样本被预测为正样本(真正例,True Positive)
FN表示正样本被预测为负样本(假负例,False Negative)
TN表示负样本被预测为负样本(真负例,True Negative)
FP表示负样本被预测为正样本(假正例,False Positive)

● 准确率: 所有预测正确的样本(正样本预测为正,负样本预测为负)与所有样本的比值:

在这里插入图片描述
精确率(查准率): 精确率是针对预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了:一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。(精确率又称查准率,顾名思义适用于对准确率要求高的应用,例如网页检索与推荐等)。公式如下:

在这里插入图片描述
召回率(查全率): 召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能:一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。(召回率又称查全率,适用于检测信贷风险信息、逃犯信息等)公式如下:

在这里插入图片描述
真正例率(TPR): 即为正例被判断为正例的概率,公式如下:

在这里插入图片描述
● **假正例率(FPR):**即为负例被判断为正例的概率,公式如下:

在这里插入图片描述
F1: 由于精确率和召回率是一对矛盾的度量,所以需要找一个平衡点,研究者们往往使用F1,F1是精确率与召回率的调和平均值,公式如下:

在这里插入图片描述

● AUC和ROC曲线

       ROC曲线(受试者操作特性曲线,Receiver Operational Characteristic Curve)是以False Positive Rate(FPR)为横坐标,True Positive Rate(TPR)为纵坐标绘制的曲线。曲线的点表示了在敏感度和特殊性之间的平衡,例如越往左,也就是假阳性越小,则真阳性也越小。曲线下方的面积越大,则表示该方法越有利于区分两种类别。AUC即为ROC曲线所覆盖的区域面积。AUC值是一个概率值,当随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值。所以AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。而如果AUC=0.5,跟随机猜测一样(例如丢硬币),模型没有预测价值。ROC曲线如下图所示:

扫描二维码关注公众号,回复: 12639899 查看本文章

在这里插入图片描述
       ROC曲线的主要意义是方便观察阈值对学习器的泛化性能影响,所以有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的查全率就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。

代码如下:

from sklearn import metrics
from sklearn.metrics import roc_auc_score

roc_auc_score(y_true, y_score)
# 求出auc指标
fpr, tpr, thresholds = metrics.roc_curve(y_true, y_score, pos_label=1)
# pos_label=1,表示值为1的实际值为正样本
# 求出了FPR、TPR和阈值

猜你喜欢

转载自blog.csdn.net/Roaddd/article/details/114003118