美文网首页
二分类算法评估指标

二分类算法评估指标

作者: Jarkata | 来源:发表于2020-10-22 21:59 被阅读0次

此文为转载,原文链接二分类算法评估指标

我们都知道机器学习要建模,但是对于模型性能的好坏我们并不知道是怎样的,很可能这个模型就是一个差的模型,对测试集不能很好的预测。那么如何知道这个模型是好是坏呢?必须有个评判的标准,需要用某个指标来衡量,这就是性能度量的意义。有了一个指标,就可以对比不同模型了,从而知道哪个模型更好,或者通过这个指标来调参优化选用的模型。

对于分类、回归、聚类等,分别有各自的评判标准。本篇主要介绍二分类算法(多分类可以扩展转化成二分类)的相关指标。评估一个二分类的分类器的性能指标有:准确率、查准率、查全率、F1值、AUC/ROC。前面几个比较直观,AUC/ROC相对抽象一点。经常会以AUC/ROC为代表来考察对分类算法指标的认知程度:什么是AUC/ROC?横轴纵轴都代表什么?有什么优点?为什么要使用它?不是因为它的复杂度更高,主要是它对项目场景的衡量更贴切。

背景介绍-混淆矩阵与常规定义

对于二分类模型,预测情况与实际情况会得出2*2=4种组合,形成混淆矩阵:

预测正例 预测反例
实际正例 TP: True Positive FN: False Negative
实际反例 FP: False Positive TN: True Negative

真正(True Positive , TP):被模型预测为正的正样本
假正(False Positive , FP):被模型预测为正的负样本
假负(False Negative , FN):被模型预测为负的正样本
真负(True Negative , TN):被模型预测为负的负样本

真正率(True Positive Rate,TPR):TPR=TP/(TP+FN),即被预测为正的正样本数 /正样本实际数
假正率(False Positive Rate,FPR) :FPR=FP/(FP+TN),即被预测为正的负样本数 /负样本实际数
假负率(False Negative Rate,FNR) :FNR=FN/(TP+FN),即被预测为负的正样本数 /正样本实际数
真负率(True Negative Rate,TNR) :TNR=TN/(TN+FP),即被预测为负的负样本数 /负样本实际数

性能指标

准确率(Accuracy): Accuracy = (TP+TN)/(TP+FN+FP+TN)

即正确预测的正反例数 /预测总数。准确率是预测正确的结果占总样本的百分比,是很自然就会想到的指标,但很多项目场景都不适用!最主要的原因是样本不平衡。举个简单的例子,比如在一个总样本中,正样本占90%,负样本占10%,样本是严重不平衡的。对于这种情况,我们只需要将全部样本预测为正样本即可得到90%的高准确率,但实际上我们并没有很用心的分类,只是随便无脑一分而已。这就说明了:由于样本不平衡的问题,导致了得到的高准确率结果含有很大的水分。即如果样本不平衡,准确率就会失效。

精确率(Precision): Precision = TP/(TP+FP)

即正确预测的正例数 /预测正例总数。可理解为查准率。在预测为正的记录中,有多少实际为正?

召回率(Recall): Recall = TP/(TP+FN)

即正确预测的正例数 /实际正例总数 。可理解为查全率。在实际为正的记录中,有多少预测为正?

F1 score : 2/F1 = 1/Precision + 1/Recall

精确率和召回率的调和值。由于Precision和Recall是一对不可调和的矛盾,很难同时提高二者,也很难综合评价。故提出F1来试图综合二者,F1是P和R的调和平均。F1更接近于两个数较小的那个,所以精确率和召回率接近时值最大。很多推荐系统会用的评测指标。

ROC(Receiver Operating Characteristic)曲线: 以假正率FPR为横轴,以真正率TPR为纵轴,绘制的曲线

FPR表示模型虚报的响应程度,而TPR表示模型预测响应的覆盖程度。我们希望:虚报的越少越好,覆盖的越多越好。总结一下就是FPR越低TPR越高(即ROC曲线越陡),那么模型就越好。ROC曲线无视样本不平衡。
画曲线的用意是:用假正率与真正率的变化趋势,来观察模型是否能在较低的假正率下得到较高的真正率。

ROC曲线
AUC: Area under the ROC curve

绘制ROC曲线时,横轴纵轴都是0~1,形成一个1x1的正方形。AUC就是在这个正方形里ROC曲线围成的面积。
如果连接正方形的对角线,它的面积正好是0.5。对角线的实际含义是:随机判断响应与不响应,正负样本覆盖率都是50%,即AUC =0.5表示随机分类器。AUC < 0.5表示差于随机分类器,没有建模价值;AUC = 1表示完美分类器,不存在;0.5 < AUC < 1,优于随机分类器,大多模型都在这个区间里。

AUC的一般判断标准
0.5 - 0.7:效果较低,但用于预测股票已经很不错了
0.7 - 0.85:效果一般
0.85 - 0.95:效果很好
0.95 - 1:效果非常好,但基本不太可能

场景决定指标

指标没有单纯的谁比谁好,选择指标还是要结合具体的使用场景。比如:
嫌疑人定罪:基于不错怪一个好人的原则,有时候放过一些嫌疑人也是值得的。宁漏,不错。
地震的预测:情愿发出100次警报10次都没漏,也不要发出10次警报对了8次漏了2次。宁错,不漏。
在地震场景中可以只看Recall=99.99999%(地震全中)时的Precision,其他指标就变得没有了意义。

相关文章

  • 数据挖掘

    预测指标 分类常见的评估指标:对于二类分类器/分类算法,评价指标主要有accuracy, [Precision,R...

  • 二分类算法评估指标

    此文为转载,原文链接二分类算法评估指标[https://www.cnblogs.com/myshuzhimei/p...

  • 【百面机器学习】优化算法

    机器学习算法 = 模型表征 + 模型评估 + 优化算法。不同的优化算法对应的模型表征和评估指标分别为线性分类模型和...

  • 复习 - 模型测试

    一、模型测试的API总结 1、分类算法评估方式 2、回归算法评估方式 二、分类模型测试 交叉验证:(Cross V...

  • 《绩效管理》--绩效指标与标准

    1、什么是绩效评估指标?绩效评估指标有哪些分类? 评估指标指的是评估因子或评估项目。 根据评估内容分:1)工作业绩...

  • 多分类算法的评估指标

    在以往的分类问题求解当中,我们遇到的问题多为二分类问题,我们常用的评估指标有accuracy, precision...

  • 深度学习知识点汇总-机器学习基础(5)

    2.5 分类算法的评估指标有哪些? 上图中术语解释: TP(True positives)。表示被正确地划分为正...

  • 模型性能评估

    目录 1、模型评估指标 2、总结 1、模型评估指标 2、总结:本文以思维导图的方式罗列了二分类中模型评估中常用的指...

  • 分类模型评估指标

    本篇先考虑二分类问题,记录常用到的评估指标。 混淆矩阵 假设在训练之前和预测之后,一个样本的标记是确定的两个类别,...

  • 跟踪算法效果评估

    跟踪算法评价指标 MOTA 跟踪算法评估指标比较多,一般主要看MOTA、MOTP,官方提供的代码时matlab的,...

网友评论

      本文标题:二分类算法评估指标

      本文链接:https://www.haomeiwen.com/subject/xdapmktx.html