分类问题的评价指标

一.概述

 

                                    这里写图片描述

二.理论

其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了。

总结一下就是:

召回率——查准率——recall
查全率——精确率——precision
首先明确一下几个表示:
- True Positive(真正, TP):将正类预测为正类数.
- True Negative(真负 , TN):将负类预测为负类数.
- False Positive(假正, FP):将负类预测为正类数 →→ 误报 (Type I error).
- False Negative(假负 , FN):将正类预测为负类数 →→ 漏报 (Type II error).
即:

 TrueFalse
PositiveTPFN
NegativeFPTN

这样之后,准确率、精确率和召回率可以用如下公式来表示:
准确率 : A c c=\frac{T P+T N}{T P+F P+F N+T N}
精确率:P r e=\frac{T P}{T P+F P}
召回率:\text {Recall}=\frac{T P}{T P+F N}                      

三.举例

例子:假设我们手上有60个正样本,40个负样本,我们要找出所有的正样本,系统查找出50个,其中只有40个是真正的正样本,计算上述各指标。

TP: 将正类预测为正类数 40
FN: 将正类预测为负类数 20
FP: 将负类预测为正类数 10
TN: 将负类预测为负类数 30
准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN) = 70%
精确率(precision) = TP/(TP+FP) = 80%
召回率(recall) = TP/(TP+FN) = 2/3

四.综合评价指标

4.1 F-Score

P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。

 

F1值的计算公式如下:

                                                  F_{1}=\frac{2}{\frac{1}{\text { precision }}+\frac{1}{\text { recall }}}=\frac{2 \cdot \text { precision } \cdot \text { recall }}{\text { precision }+\text { recall }}

F1值就是精确率和召回率的调和平均值,F1值认为精确率和召回率一样重要。

Fβ值的计算公式如下:

                                             F_{\beta}=\frac{1+\beta^{2}}{\frac{1}{\text { precision }}+\frac{\beta^{2}}{\text { recall }}}=\frac{\left(1+\beta^{2}\right) \cdot \text { precision } \cdot \text { recall }}{\beta^{2} \cdot \text { precision }+\text { recall }}

在β=1时,Fβ就是F1值,此时Fβ认为精确率和召回率一样重要;当β>1时,Fβ认为召回率更重要;当0<β<1时,Fβ认为精确率更重要。除了F1值之外,常用的还有F2和F0.5。 

4.2 ROC曲线及其AUC值

AUC全称为Area Under Curve,表示一条曲线下面的面积,ROC曲线的AUC值可以用来对模型进行评价。ROC曲线如图 1 所示:

                                        

ROC曲线的纵坐标True Positive Rate(TPR)在数值上就等于positive class的recall,记作recallpositivepositive,横坐标False Positive Rate(FPR)在数值上等于(1 - negative class的recall),记作(1 - recallnegativenegative)如下所示:

                                                                                   \begin{aligned} \mathrm{TPR} &=\frac{T P}{T P+F N} \\ &=\text { recall positive } \end{aligned}

                                                                         \begin{aligned} \mathrm{FPR} &=\frac{F P}{F P+T N}=\frac{F P+T N-T N}{F P+T N} \\ &=1-\frac{T N}{F P+T N} \\ &=1-\text { recall negative } \end{aligned} 

通过对分类阈值θ(默认0.5)从大到小或者从小到大依次取值,我们可以得到很多组TPR和FPR的值,将其在图像中依次画出就可以得到一条ROC曲线,阈值θ取值范围为[0,1]。

  ROC曲线在图像上越接近左上角(0,1)模型越好,即ROC曲线下面与横轴和直线FPR = 1围成的面积(AUC值)越大越好。直观上理解,纵坐标TPR就是recall_{positive}值,横坐标FPR就是(1-recall_{negative}),前者越大越好,后者整体越小越好,在图像上表示就是曲线越接近左上角(0,1)坐标越好。

  图 1展示了3个模型的ROC曲线,要知道哪个模型更好,则需要计算每条曲线的AUC值,一般认为AUC值越大越好。AUC值由定义通过计算ROC曲线、横轴和直线FPR = 1三者围成的面积即可得到。

虽然ROC曲线相比较于Precision和Recall等衡量指标更加合理,但是其在高不平衡数据条件下的的表现仍然过于理想,不能够很好的展示实际情况。

4.3 PR曲线

即,PR(Precision-Recall)曲线。
举个例子(例子来自Paper:Learning from eImbalanced Data):
假设N_c>>P_c(即Negative的数量远远大于Positive的数量),若FP很大,即有很多N的sample被预测为P,因此FP_rate的值仍然很小(如果利用ROC曲线则会判断其性能很好,但是实际上其性能并不好),但是如果利用PR,因为Precision综合考虑了TP和FP的值,因此在极度不平衡的数据下(Positive的样本较少),PR曲线可能比ROC曲线更实用。

五.混淆矩阵

在机器学习领域,混淆矩阵(confusion matrix),又称为可能性表格或是错误矩阵。它是一种特定的矩阵用来呈现算法性能的可视化效果,通常是监督学习(非监督学习,通常用匹配矩阵:matching matrix)。其每一列代表预测值,每一行代表的是实际的类别。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)。

前面主要讲了二分类问题,其实混淆矩阵很容易延伸到多元分类问题。

    

混淆矩阵的作用:

1)用于观察模型在各个类别上的表现,可以计算模型对应各个类别的准确率,召回率;

2)通过混淆矩阵可以观察到类别直接哪些不容易区分,比如A类别中有多少被分到了B类别,这样可以有针对性的设计特征等,使得类别更有区分性;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值