混淆矩阵,准确率,精确率,召回率,F1值,ROC/AUC曲线的理解

在机器学习中,对一个模型的学习能力好坏的评估,往往人为判断不容易直接得到结果,这时候就可以根据一些数据指标进行分析评估。对模型(分类器,学习器)的泛化能力进行评估,有衡量模型泛化能力的评价标准,被称为性能度量。

性能度量反应了人物需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果,这就意味着模型的"好坏"是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。

 

先来了解两个简单的概念:

错误率(error rate):分类错误的样本数占样本总数的比例,即如果在m个样本中有a个样本分类错误,则错误率E = a / m,对应的,就有准确率。

准确率(accuracy):准确率 = 1 - 错误率,即1 - a / m。

 

一、混淆矩阵

对于二分类问题,可将样例根据其真实类别与分类器预测类别的组合划分为:

真正例(Ture Positive,TP),将正类预测为正类的数量,即预测正确;

真负例(True Negative,TN),将负类预测为负类的数量,即预测正确;

假正例(False Positive,FP),将负类预测为正类的数量,即预测错误--误报;

假负类(False Negative,FN),将正类预测为负类的数量,即预测错误--漏报。

TP,TN,FP,FN也可以这样理解,第一个字母表示的是预测正确与错误,第二个字母表示预测的结果。T表示正确,所以TP和TN都是预测正确的,然后P表示正类,TP就表示你预测它为正,实际也是正,这就是预测正确的(TP);N表示负类,TN就表示你预测为负类,实际也是负类,即预测正确(TN)

同理,F表示错误,所以FP和FN都是预测错误的,然后P表示正类,FP就表示你预测为正,但实际是负类,即预测错误(FP);N表示负类,FN就表示你预测为负,但是实际为正,即预测错误(FN)。

令TP、TN、FP、FN分别表示其对应的样本数,则TP + TN + FP + FN = 样本总数,分类的"混淆矩阵"如下:

分类结果混淆矩阵
 真实情况                        预测情况
正类反类
      正类TP(真正例)

FN(假负例)

      反类FP(假正例)TN(真负例)

 

二、准确率、精确率、召回率和F1值

本文开头就已经定义了准确率,在了解了混淆矩阵之后,可以重新定义准确率的概念,以方便我们更好的理解计算。

准确率(Accuracy):预测正确的样本数(TP和TN)占所有样本数的比例,一般地说,准确率越高,分类器越好,计算公式如下:

精确率(Precision),亦称查准率:正确预测为正的样本数(TP)占全部预测为正(TP和FP)的比例,计算公式如下:

召回率(Recall),亦称查全率:正确预测为正的样本数(TP)占全部实际为正(TP和FN)的比例,计算公式如下:

F1值:F1值为算数平均数除以几何平均数,且越大越好,计算公式如下:

转换后得到(其中m为样本总数):

总结:精确率和召回率是一对矛盾的度量,一般来说,精确率高时,召回率往往偏低;而召回率高时,精确率往往偏低。

三、ROC曲线和AUC值

ROC曲线,全称是"受试者工作特征"(Receiver Operating Characteristic)曲线,是研究学习器泛化性能的有力工具。ROC曲线的纵轴是"真正例率"(True Positive Rate,简称TPR),预测为正实际为正的样本数(TP)占全部实际为正(TP和FN)的比例;横轴是"假正例率"(False Positive Rate,简称FPR),预测为正实际为负的样本数(FP)占全部实际为负(TN和FP)的比例。计算公式如下:

 

如图所示:

ROC曲线图

 

假设采用逻辑回归分类器,其给出针对每个实例为正类的概率,那么通过设定一个阈值如0.6,概率大于等于0.6的为正类,小于0.6的为负类。对应的就可以算出一组(FPR,TPR),在平面中得到对应坐标点。随着阈值的逐渐减小,越来越多的实例被划分为正类,但是这些正类中同样也掺杂着真正的负实例,即TPR和FPR会同时增大。阈值最大时,对应坐标点为(0,0),阈值最小时,对应坐标点(1,1)。

横轴FPR:FPR越大,预测正类中实际负类越多。

纵轴TPR:TPR越大,预测正类中实际正类越多。

理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好,TPR、1-FPR越大效果越好。

 

AUC值(Area Under ROC Curve),是指ROC曲线下的面积。从数学角度讲,AUC值是小于1的数值,一般情况下,ROC曲线都位于y=x这条直线的上方,所以AUC是介于0.5-1之间。

从AUC判断分类器(预测模型)优劣的标准:

AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。
0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
AUC = 0.5,跟随机猜测一样(例:抛硬币),模型没有预测价值。
AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。
总之,AUC值越大的分类器,正确率越高。

 

 

【参考文献】
[1] 周志华.机器学习[M].北京:清华大学出版社,2016年1月:23-35

https://blog.csdn.net/u013063099/article/details/80964865

 

 

  • 6
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值