机器学习笔记(5)——模型评价指标

本文部分图片来源网络或学术论文,文字部分来源网络与学术论文,仅供学习使用。

目录

机器学习笔记(5)——模型评价指标

1、精确率、召回率、准确率、错误率

混淆矩阵

各个指标的对比

注意

2、F1值

为什么选择F1值?

F值的定义

两个场景帮助更好理解F1值

3、PR曲线

PR曲线适用范围(优缺点)

PR曲线怎么看?

4、ROC曲线

ROC曲线怎么看?

ROC曲线的主要作用:

ROC曲线的优点

何时选择PR曲线和ROC曲线?

4、AUC值

AUC值定义

AUC值怎么看?

AUC值的意义

AUC指标评价的优点

ROC曲线与AUC值的比较


1、精确率、召回率、准确率、错误率

混淆矩阵

首先需要了解模型预测结果得到的混淆矩阵。

Actual positive

Actual negative

Predicted positive

TP (true positive)

真阳性

FP (false positive)

假阳性

Predicted negative

FN (false negative)

假阴性

TN (true negative)

真阴性

(Positive与Negative是预测标签,True与false代表预测正误。)

TP (真正,True Positive)表示真实结果为正例,预测结果也是正例;

FP (假正,False Positive)表示真实结果为负例,预测结果却是正例;

TN (真负,True Negative)表示真实结果为正例,预测结果却是负例;

FN (假负,False Negative)表示真实结果为负例,预测结果也是负例。

不难发现四者满足以下关系式:TP+FP+FN+TN=样本总数;FN+TP=TN+FP

各个指标的对比

有上述混淆矩阵可以得到几个评价指标:准确率、精确率、灵敏度(召回率)、特异度几个指标。

指标

公式

含义

适用范围

准确率

(accuracy)

真实为positive的占所有所有预测总数的比例

二分类、多分类

错误率

(errorrate)

真实为negative的占所有所有预测总数的比例

二分类、多分类

召回率(R值)

(recall)

灵敏度

(sensitivity)

真实positive被预测为positive的比例

二分类

精确率(P值)

(precision)

模型预测为positive中真实的positive比例

二分类

特异性

(specific)

真实negative被预测为negative的比例

二分类

F1值

F1值是精确率P值和召回率R值的调和均值

二分类

AUC值 随机给定一个正样本和一个负样本,分类器输出该正样本为正的那个概率值比分类器输出该负样本为正的那个概率值要大的可能性。 二分类

注意:

精确率和召回率是二分类指标,不适用多分类,由此得到P-R曲线以及ROC曲线均是二分类评估指标(因为其横纵轴指标均为二分类混淆矩阵计算得到)。

准确率适用于多分类评估。(可以将多分类问题转换为二分类问题进行求解,将关注的类化为一类,其他所有类化为一类)。

2、F1值

为什么选择F1值?

理想情况下,精确率和召回率两者都越高越好。然而事实上这两者在某些情况下是矛盾的,精确率高时,召回率低;精确率低时,召回率高,此时需要调和P值和R值。

F值的定义

F函数是一个常用指标,F值是精确率和召回率的调和均值,F值可泛化为对精确率和召回率赋不同权值进行加权调和:

利用α给P和R赋予不同的权重,若α=1则为F1值,即

 

  • 地震的预测对于地震的预测,我们希望的是recall非常高,也就是说每次地震我们都希望预测出来。这个时候我们可以牺牲precision。情愿发出1000次警报,把10次地震都预测正确了;也不要预测100次对了8次漏了两次。此时,我们就只看recall=99.9999%(地震全中)时的precision,其他指标就变得没有了意义。

    嫌疑人定罪基于不错怪一个好人的原则,对于嫌疑人的定罪我们希望是非常准确的。及时有时候放过了一些罪犯(recall低),但也是值得的。对于分类器来说,本质上是给一个概率,此时,我们再选择一个CUTOFF点(阀值),高于这个点的判正,低于的判负。那么这个点的选择就需要结合你的具体场景去选择。

  • 3、PR曲线

  • PR曲线:横坐标是召回率R值,纵坐标是精确率P值

PR曲线适用范围(优缺点)

优点:

  • 利用ROC曲线对不同模型进行比较。
  • 如果一个模型的ROC曲线被另一个模型的曲线完全包住,则可断言后者的性能由于前者,否则较难比较。
  • 因为ROC曲线很容易画,ROC曲线下的面积也比较容易计算。

缺点:

  • 如果数据中类别分布不均衡,ROC不再适用。
  • 当两个模型的ROC曲线发生交叉,则很难说哪一个模型更好,这时候可以用AUC来作为一个比较合理的判据。
  • precision与Recall的折中(trade off),曲线越靠近右上角性能越好,曲线下的面积叫AP分数,能在一定程度上反应模型的精确率和召回率都很高的比例。
  • 先看平滑不平滑,在看谁上谁下(同一测试集上),一般来说,上面的比下面的好(红线比黑线好)。
  • 看平衡点,上图红色线代表的模型的平衡点要大于黑色线模型代表的平衡点,表明前者优于后者。
  • 因为P值、R值用来评价二分类模型效果,因此PR曲线也只能评价二分类模型。

PR曲线怎么看?

  1. precision与Recall的折中(trade off),曲线越靠近右上角性能越好,曲线下的面积叫AP分数,能在一定程度上反应模型的精确率和召回率都很高的比例。
  2. 先看平滑不平滑,在看谁上谁下(同一测试集上),一般来说,上面的比下面的好(红线比黑线好)。
  3. 看平衡点,上图红色线代表的模型的平衡点要大于黑色线模型代表的平衡点,表明前者优于后者。

4、ROC曲线

ROC曲线:横坐标(x轴)是假阳性率、纵坐标(y轴)是真阳性率。

真阳性率(TPR)和假阳性率(FPR)的公式如下:

同时,TPR与FPR又有其他名称,如下:

敏感度 sensitivity = 召回率recall = true positive rate

特异性 specificity = 1- false positive rate

ROC曲线怎么看?

当数据量少时,绘制的ROC曲线不平滑;当数据量大时,绘制的ROC曲线会趋于平滑。

ROC曲线越靠近左上角性能越好。左上角坐标为(0, 1),即假阳性率FPR=0,真阳性率TPR=1,根据FPR和TPR公可以得知,此时FN=0, FP=0,模型对所有样本分类正确。

一般来说,如果ROC是光滑的,那么基本可以判断没有太大的overfitting,这个时候调模型可以只看AUC,面积越大一般认为模型越好。

ROC曲线的主要作用:

  1. ROC曲线能很容易的查出任意阈值对学习器的泛化性能影响。
  2. 有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的查全率就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。
  3. 可以对不同的学习器比较性能。将各个学习器的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。

ROC曲线的优点:

  1. 方法简单、直观、通过图示可观察分析方法的准确性,并可用肉眼作出判断。ROC曲线将真正例率和假正例率以图示方法结合在一起,可准确反映某种学习器真正例率和假正例率的关系,是检测准确性的综合代表。
  2. 在生物信息学上的优点:ROC曲线不固定阈值,允许中间状态的存在,利于使用者结合专业知识,权衡漏诊与误诊的影响,选择一个更加的阈值作为诊断参考值。

何时选择PR曲线和ROC曲线?

ROC曲线:如果测试数据集类别分布大致均衡的时候我们可以用ROC曲线。

PR曲线:当数据集类别分布不均衡的时候采用PR曲线。

5、AUC

AUC值定义

Area Under roc Curve(AUC),即ROC 曲线下方的那部分面积的大小,衡量学习器优劣的一种性能指标。AUC可通过对ROC曲线下各部分的面积求和而得。假定ROC曲线是由坐标为 的点按序连接而形成,则AUC可估算为:

AUC值怎么看?

通常AUC的值介于0.5到1.0之间,较大的AUC代表了较好的性能。一般训练出的模型,AUC>0.5,如果AUC=0.5,这个分类器等于没有效果,效果与完全随机一样,如果AUC<0.5,则可能是标签标注错误等情况造成

AUC值的意义

从Mann–Whitney U statistic的角度来解释,AUC就是从所有1样本中随机选取一个样本, 从所有0样本中随机选取一个样本,然后根据你的分类器对两个随机样本进行预测,把1样本预测为1的概率为p1,把0样本预测为1的概率为p0,p1>p0的概率就等于AUC。

即AUC是指随机给定一个正样本和一个负样本,分类器输出该正样本为正的那个概率值比分类器输出该负样本为正的那个概率值要大的可能性。

AUC指标评价的优点

AUC的计算方法同时考虑了学习器对于正例和负例的分类能力,在样本不平衡的情况下,依然能够对分类器做出合理的评价。AUC对样本类别是否均衡并不敏感,这也是不均衡样本通常用AUC评价预测性能的一个原因。

ROC曲线与AUC值的比较

ROC 曲线具有不随样本比例而改变的良好性质,因此能够在样本比例不平衡的情况下较好地反映出分类器的优劣。

AUC计算主要与排序有关,所以他对排序敏感,而对预测分数没那么敏感。

机器学习笔记(5)——模型评价指标相关推荐

  1. 《美团机器学习实践》学习笔记:机器学习中的模型评价指标(二)——回归模型评估

    平均绝对误差(Mean Absolute Error, MAE) 也称L1范数损失,计算公式如下: 其中N为样本数,是真实值,是预测值. MAE可以很好的刻画预测值与真实值的偏差.模型使用MAE作为损 ...

  2. 【机器学习】回归模型评价指标原理与基于sklearn的实现

    1 前言 回归任务是机器学习中常见的任务,特别是涉及到具体的发电量预测.风力预测等工业任务时,有非常多的应用场景.回归任务不同于分类任务,回归任务的预测值一般是连续的数,分类任务的预测值则是离散的值( ...

  3. 机器学习笔记(二)模型评估与选择

    2.模型评估与选择 2.1经验误差和过拟合 不同学习算法及其不同参数产生的不同模型,涉及到模型选择的问题,关系到两个指标性,就是经验误差和过拟合. 1)经验误差 错误率(errorrate):分类错误 ...

  4. 一文读懂机器学习的常用模型评价指标

    分类任务 TP,TN,FN,FP 这是个很直觉的分类,T在开头说明这个是完全正确的.F开头就说明是完全错误的. 真正例(True Positive, TP):被模型预测为正的正样本: 假正例(Fals ...

  5. 机器学习笔记之——模型评估与改进之评估指标与评分

    评估指标与评分 到目前为止,我们使用精度(正确分类的样本所占的比例)来评估分类性能,使用 R2 来评估回归性能.但是,总结监督模型在给定数据集上的表现有多种方法,这两个指标只是其中两种.在实践中,这些 ...

  6. 机器学习笔记--GMM模型

    1. 高斯分布的一些结论: 利用似然估计对一组符合高斯分布的数据进行分析,得到其均值的估计就是样本的均值,方差的估计就是样本方差. 具体推导如下 高斯分布的概率密度函数为 , 对一组符合高斯分布的样本 ...

  7. 【机器学习笔记】 模型评估:查准率、查全率和F1

    前言 错误率与精度经常用来衡量一个模型的好坏,但这两项指标并不能满足所有的需求.以西瓜书中的例子来说,农夫拉来一车西瓜,错误率可以衡量出有多少比例的瓜被判别错误,而我们关心的是好瓜,或说好瓜中有多少比 ...

  8. 机器学习笔记三—卷积神经网络与循环神经网络

    系列文章目录 机器学习笔记一-机器学习基本知识 机器学习笔记二-梯度下降和反向传播 机器学习笔记三-卷积神经网络与循环神经网络 机器学习笔记四-机器学习可解释性 机器学习笔记五-机器学习攻击与防御 机 ...

  9. 【机器学习笔记4】逻辑回归模型

    目录 什么是逻辑回归? Sigmoid函数 决策边界 逻辑回归的损失函数 为什么平方误差模型不可行? 对数损失函数 单个样例损失: 整体损失函数 梯度下降算法 补充:F1-score评价指标 F1-S ...

最新文章

  1. Windows上使用gitbook制作电子书
  2. 【MFC】滚动字幕的状态栏
  3. python3 快速排序
  4. relative布局html,CSS的四种布局方式static/relative/fixed/absolute
  5. Sublime的Package Control 及 Emmet插件的安装,Tab键快速html和css代码
  6. 移动端布局 - REM方式
  7. 传相互宝或于6月11日被关停 蚂蚁集团回应:假消息
  8. 刘海又回来了?iPhone 12 Pro摄像头曝光...
  9. SVG.属性(各种)
  10. 上海交大计算机基础高万萍老师怎么样,上海交通大学网络教育学院.ppt
  11. 服务器的mdf文件怎么打开,mdf文件,教您mdf文件怎么打开
  12. 单片机学习知识点全攻略
  13. 第五卷《鏖战雁门(下)》第47章《抉择》
  14. Appinventor使用
  15. 树莓派搭建远程视频监控教程
  16. CentOS 路由设置
  17. flash服务器停止响应,shockwave flash 未响应解决方法,shockwave flash已经崩溃解决方法...
  18. SHOI2002 百事世界杯之旅
  19. 我的世界服务器怎么解压文件,我的世界整合包压缩包解压及使用
  20. 将App通过XCode上传到AppStore 出现这个错误“An error occurred uploading to the iTunes Store”的解决方法

热门文章

  1. asp.net mvc 项目使用Quartz.net添加定时任务
  2. 余世维《有效沟通》听课笔记
  3. 零基础入门C 语言如何实现面向对象编程
  4. 计算机显示技术发展,显示技术的发展 与展望
  5. python中列表概念_详解python列表
  6. php如何获取客户端请求ip地址的方法
  7. Semilogx 不是对数坐标
  8. 自助建站的优缺点总结
  9. Eclipse插件安装(在线和离线方式)
  10. 快点来学吧!java保证线程安全的方式