二分类模型的预测结果分为四种情况(正类为1,反类为0):

  • TP(True Positive):预测为正类,且预测正确(真实为1,预测也为1)
  • FP(False Positive):预测为正类,但预测错误(真实为0,预测为1)
  • TN(True Negative):预测为负类,且预测正确(真实为0,预测也为0)
  • FN(False Negative):预测为负类,但预测错误(真实为1,预测为0)

TP+FP+TN+FN=测试集所有样本数量。


分类模型的性能评价指标(Performance Evaluation Metric)有:

准确率(Accuracy):所有分类正确的样本数量除以总样本数量

错误率(Error Rate):所有分类错误的样本数量除以总样本数量

    (其中为指示函数,满足要求则为1,不满足为0)

错误率等于一减准确率:

混淆矩阵(Confusion Matrix):把真实值和预测值相对应的样本数量列出来的一张交叉表。这样,所有正确的预测结果都在其对角线上,所以从混淆矩阵中可以很直观地看出哪里有错误。

准确率或错误率是最基本的分类模型性能评价指标。但是有时候各类别样本数量不均衡,比如说,在一共100个测试样本中,正类样本有98个,负类样本只有2个,那么我们只需要把模型做成把所有样本都判为正类即可,这样准确率可以达到98%。但是这样的模型毫无意义。

即使各类别样本数量比较均衡,但如果我们更关心其中某个类别,那么我们就需要选择我们感兴趣的类别的各项指标来评价模型的好坏。因此,人们又发明出了查全率和查准率等指标。


精确度(Precision):在所有预测为正类的样本中,预测正确的比例,也称为查准率

召回率(Recall):在所有实际为正类的样本中,预测正确的比例,也称为查全率

查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。如果对这两个指标都有要求,那么可以计算模型的F1值或查看PR曲线。

F1值(F1 Score):查准率和查全率的调和平均值

P-R曲线(Precision-Recall Curve):以precision为y轴,以recall为x轴,取不同的分类阈值,在此基础上画出来的一条曲线就叫做PR曲线。PR曲线越接近右上角(precision=1, recall=1),代表模型越好。若一个模型的PR曲线被另一个模型的PR曲线完全“包住”,则可断言后者的性能优于前者;但若二者的曲线发生了交叉,则难以一般性地断言两者孰优孰劣,只能在具体查准率或查全率条件下比较。一般而言,比较 P-R 曲线下面积的大小,可一定程度上表征模型在查准率和查全率上取得相对 “双高”的比例,但该值不太容易计算。因此其它相对容易计算的性能度量被提出。


真正率(True Positive Rate,TPR):TPR = TP/(TP+FN),TPR越大越好,1为理想状态

假正率(False Positive Rate,FPR):FPR = FP/(TN+FP),FPR越小越好,0为理想状态

灵敏性(Sensitivity): True Positive Rate,等同于召回率

特异性(Specificity): True Negative Rate,Specificity = 1- False Positive Rate,SPC = TN/(FP + TN)

这几个性能指标不受不均衡数据的影响。若要综合考虑TPR和FPR,那么可以查看ROC曲线。


ROC曲线(Receiver Operating Characteristic Curve):全称“受试者工作特征”曲线。以“真正率”(True Positivate Rate,简称 TPR)为y轴,以“假正例”(False Positive Rate,简称 FPR)为x轴,取不同的分类阈值,在此基础上画出来的一条曲线就叫做ROC曲线。ROC曲线越接近左上角(true positive rate=1, false positive rate=0),代表模型性能越好。与 P-R 曲线一样,若一个模型的 ROC 曲线被另一个模型的曲线完全“包住”,则断言后者的性能优于前者;若有交叉,则难以一般断言,此时可通过比较ROC曲线下的面积来判断。

AUC(Area Under Curve):曲线下面积。AUC越大,代表模型性能越好。若AUC=0.5,即ROC曲线与上图中的虚线重合,表示模型的区分能力与随机猜测没有差别。


以上说的是二分类的场景。对于多分类问题,有两种方法计算其性能评价指标:

方法一:将多分类问题拆解成n个一对其余的二分类问题,这样可以得到n个混淆矩阵,分别计算出每个类别的precision和recall,再将其平均,即得到”宏查准率“(macro-P),”宏查全率“(macro-R),相应计算出的的F1值称为”宏F1“(macro-F1)。对每个类别计算出样本在各个阈值下的假正率(FPR)和真正率(TPR),从而绘制出一条ROC曲线,这样总共可以绘制出n条ROC曲线,对n条ROC曲线取平均,即可得到最终的ROC曲线。

方法二:将多分类问题拆解成n个一对其余的二分类问题,这样可以得到n个混淆矩阵,把所有混淆矩阵中的TP,NP,FP,FN计算平均值 ,再用这些平均值计算出查准率和查全率,称为”微查准率“(micro-P),”微查全率“(micro-R),由微查准率和微查全率计算出的F1值称为 ”微 F1“(micro-F1)。

对于多分类问题,macro-average(宏平均) 要比 micro-average(微平均) 好,因为宏平均受样本数量少的类别影响较大。

参考:https://www.zhihu.com/question/30643044

转载于:https://www.cnblogs.com/HuZihu/p/9692550.html

分类模型的性能评价指标(Classification Model Performance Evaluation Metric)相关推荐

  1. 分类模型的性能评估——以SAS Logistic回归为例(3): Lift和Gain

    书接前文.跟ROC类似,Lift(提升)和Gain(增益)也一样能简单地从以前的Confusion Matrix以及Sensitivity.Specificity等信息中推导而来,也有跟一个basel ...

  2. 分类模型的性能评估——以SAS Logistic回归为例(2): ROC和AUC

    ROC 上回我们提到,ROC曲线就是不同的阈值下,以下两个变量的组合(如果对Sensitivity和Specificity两个术语没有概念,不妨返回,<分类模型的性能评估--以SAS Logis ...

  3. 分类模型常用的评价指标

    分类模型的评价指标的重要性不亚于设计一个好的网络模型,只有通过合理的评价指标,才能衡量一个模型的好坏和选择一个合适的模型. 以下所有内容,如有侵权,请联系删除~ 混淆矩阵 对于二分类问题,有 FP,T ...

  4. 线性回归模型的性能评价指标

    本节讨论下线性回归模型的性能评价指标 对于机器学习的两个基本问题分类和回归的评价方式有所不同,分类问题一般通过分类准确率.召回率.F1值.ROC/AUC等手段进行模型的评估.对于回归问题,该如何评价? ...

  5. 机器学习分类模型中的评价指标介绍:准确率、精确率、召回率、ROC曲线

    文章来源:https://blog.csdn.net/wf592523813/article/details/95202448 1 二分类评价指标 准确率,精确率,召回率,F1-Score, AUC, ...

  6. 模型评价 - 分类模型的常用评价指标

    分类模型的常用评价指标 基本指标:误差率 指标解释:错分类样本占总样本的比例 基本指标:准确率 指标解释:正确分类样本占总样本的比例 指标解读:准确率越接近1,模型越准确 混淆矩阵 真实情况 预测:正 ...

  7. 分类模型的性能评估——以SAS Logistic回归为例(1): 混淆矩阵

    跑完分类模型(Logistic回归.决策树.神经网络等),我们经常面对一大堆模型评估的报表和指标,如Confusion Matrix.ROC.Lift.Gini.K-S之类(这个单子可以列很长),往往 ...

  8. 决策树及分类模型评价指标(混淆矩阵,LIFT曲线 重要)

    决策树评价指标:ROC lift(提升度):类似提纯:按照decile从高到低排列,之后计算每个decile里响应数与该decile里行数的比值得到一个response rate,另外,单独计算所有行 ...

  9. 使用阈值调优改进分类模型性能

    阈值调优是数据科学中一个重要且必要的步骤.它与应用程序领域密切相关,并且需要一些领域内的知识作为参考.在本文中将演示如何通过阈值调优来提高模型的性能. 用于分类的常用指标 一般情况下我们都会使用准确率 ...

最新文章

  1. 不愧是北大疯人院!阿里数学竞赛决赛,入围人数超过清华和南大之和!
  2. 约会安排 (区间合并)毒瘤题
  3. mysql 二十条记录_记 MySQL优化 20条
  4. 微信小程序开发者工具升级自动预览功能,福利啊
  5. 编译原理 之 解释器
  6. java源码导入eclipse_如何导入外部的源码到eclipse中
  7. 改变你人生态度的30个关键词
  8. 前端学习(1057):面向对象目标
  9. Linux sed命令高级用法精讲
  10. 报告:2020年NFT总市值达5200万美元
  11. 1296: [SCOI2009]粉刷匠
  12. js弹框带传值父窗口给子框_layer弹窗,父页面 子iframe 兄弟iframe之间传值,函数调用...
  13. Linux下vsftpd的安装,Java上传文件实现。
  14. double精度丢失问题
  15. 学计算机应用必备的软件,电脑装机六大必备软件神器推荐
  16. 微信小程序在js中的data里定义对象
  17. 毕业论文概念界定要怎么写?
  18. HDU 5234 DP背包
  19. pc端高德地图获取当前位置
  20. 形式化、半形式化和非形式

热门文章

  1. USACO 2.3.3 罗马数字
  2. 第二步:关于布局文件中的大小设置使用问题
  3. 【翻译】25个浏览器开发工具的秘密
  4. python语言的整数类型是什么-Python|你必须知道的基本数据类型之一:Number类型...
  5. python分析excel数据-总结:像Excel一样使用python进行数据分析
  6. python画折线图代码-用Python画论文折线图、曲线图?几个代码模板轻松搞定!
  7. python手机版怎么用-如何优雅的在手机上进行Python编程
  8. python编程入门书籍推荐-给刚入门python的朋友推荐几本书
  9. php和python和java-Java、Python与PHP的虚拟机异同
  10. python话雷达图-PYTHON绘制雷达图代码实例