模型评估是模型开发过程的不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。在数据挖掘中,使用训练集中的数据评估模型性能是不可接受的,因为这易于生成过于乐观和过拟合的模型。数据挖掘中有两种方法评估模型,验证(Hold-Out)和交叉验证(Cross-Validation)。为了避免过拟合,这两种方法都使用(模型没有遇到过的)测试集来评估模型性能。

一、验证(Hold-Out)

使用这种方法时,通常大的数据集会被随机分成三个子集:

  1. 训练集:用于构建预测模型。
  2. 验证集:用于评估训练阶段所得模型的性能。它为模型参数优化和选择最优模型提供了测试平台。不是所有模型算法都需要验证机。
  3. 测试集或之前未遇到的样本用于评估模型未来可能的性能。如果模型与训练集拟合的好于测试集,有可能是过拟合所致。

二、交叉验证(Cross-Validation)

当仅有有限数量的数据时,为了对模型性能进行无偏估计,我们可以使用k折交叉验证(k-fold cross-validation)。 使用这种方法时,数据被分成k份数目相等的子集。我们构建k次模型,每次留一个子集做测试集,其他用作训练集。如果k等于样本大小,这也被称之为留一验证(leave-one-out)。

三、分类模型评估

3.1混淆矩阵(Confusion Matrix)

混淆矩阵显示了分类模型相对数据的真实输出(目标值)的正确预测和不正确预测数目。矩阵为NxN,其中N为目标值(类)数目。这类模型的性能通常使用矩阵中的数据评估。下表为两个类别(阳性和阴性)的2x2混淆矩阵。

术语:

• 阳性 (P, positive)
• 阴性 (N, Negative)
• 真阳性 (TP, true
positive):正确的肯定。又称:命中 (hit)
• 真阴性 (TN, true negative):正确的否定。又称:正确拒绝
(correct rejection)
• 伪阳性 (FP, false positive):错误的肯定,又称:假警报 (false
alarm)、第二型错误
• 伪阴性 (FN, false negative):错误的否定,又称:未命中(miss)、第一型错误
• 灵敏度(sensitivity)或真阳性率(TPR, true positive rate): 又称:召回率(recall)、命中率
(hit rate) 在阳性值中实际被预测正确所占的比例。 TPR = TP / P = TP / (TP+FN)
• 伪阳性率(FPR,
false positive rate): 又称:错误命中率,假警报率 (false alarm rate) FPR = FP / N = FP / (FP + TN) = 1-SPC
• 特异度 (SPC, Specificity)或真阴性率(TNR, true
negative rate): 在阴性值中实现被预测正确所占的比例。 SPC = TN / N = TN / (FP+TN) = 1-FPR
• 假发现率 (FDR, false discovery rate): FDR = FP / (FP + TP) = 1-TPR
• 准确度
(ACC, accuracy): 预测正确的数占样本数的比例。 ACC = (TP + TN) / (P + N)
• 阳性预测值
(PPV, positive predictive value)或精度 (precision): 阳性预测值被预测正确的比例。 PPV =TP / (TP + FP)
• 阴性预测值 (NPV, negative predictive value):
阴性预测值被预测正确的比例。 NPV = TN / (TN + FN)
• F1评分: 精度和灵敏度的调和平均数。 F1 = 2
precision * recall / (precision+recall) = 2TP/(2TP+FP+FN)
• Matthews相关系数 (MCC),即 Phi相关系数: (TPTN - FPFN)/ sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}

示例:

3.2增益(Gain)和提升(Lift)图

增益和提升是分类模型有效性指标,由通过模型获得的结果和没有模型获得的结果之间的比率计算而成。增益图和提升图使用与评估分类模型性能的可视化工具。然而,与混淆矩阵评估的是整个总体上的模型性能不同,增益图和提升图评估的是总体一部分上的模型性能。

3.2.1增益图

增益图实际上描述的是整体覆盖率(精度)指标。
按照模型预测出的概率从高到低排列,将每一个百分位数内的覆盖率指标标注在图形区域内,就形成了非累积的增益图。如果对每一个百分位及其之前的覆盖率求和,并将值标注在图形区域内,则形成累积的增益图。

  1. 显然,累积图通常能够更好的表现模型性能,而非累积图则更有利于指出模型中可能存在问题的地方。
  2. 采用训练集绘制的增益图一般都很不错,虽然没什么意义。用验证集绘制的收益图则未必。

    示例:


    3.2.2提升图

提升图实际上是把各个百分位点上的提升度予以描述,同样也分累积的和非累积的。提升图显示与联系随机顾客样本相比我们有可能获得多少阳性响应。例如,通过预测模型仅联系10%的顾客,可以获得不使用模型的三倍响应。

3.3K-S(柯尔莫诺夫-斯米尔诺夫,Kolmogorov-Smirnov)图

K-S图衡量分类模型的性能。更准确的说,K-S阳性和阴性分布之间分离度指标。如果评分将总体分成两组,一组全是阳性,一组全是阴性,则K-S为100。如果模型无法区分阳性和阴性,模型选择的效果类似从总体中随机抽取,K-S将为0。对大多数分类模型,K-S在0到100之间,值越高表示模型分离阳性和阴性的效果越好。
示例:
下例显示分类模型结果。模型对每个阳性(目标)和阴性(非目标)输出赋予0到1000之间的评分。


3.4接收者操作特征曲线(ROC)图

ROC图与增益图或提升图类似,它们都提供了比较分类模型的一种途径。ROC图在X轴显示伪阳性率(真值为0、目标值为1的概率,即1-特异度),Y轴为真阳性率(即灵敏度)。理想情况下,曲线快速爬向左上,表示模型准确预测数据。红色斜对角线表示随机模型。

3.5曲线下面积(AUC,Area Under the Curve)

ROC曲线下面积经常用作衡量分类模型质量的指标。随机分类的AUC为0.5,而完美分类的AUC等于1。在实践中,大多数分类模型的AUC在0.5和1之间。

举个例子来说,AUC为0.8表示从目标值为1的组内随机抽取的案例有80%的可能比目标值为0的组内随机抽取的案例评分大。当分类器无法区分两组,区域等于0.5 (ROC曲线与斜线一致)。当两组完美分离,例如没有重叠的分布,ROC曲线将直接到达左上角纵坐标1的位置.

3.6基尼系数

判定方法:基尼系数应大于60%,就算好模型。
Gini = 2*AUC - 1

四、回归模型评估

当创建一些不同的回归模型后,有大量的标准可被评估和比较。

4.1均方根误差(Root Mean Squared Error,RMSE)

RMSE是一个衡量回归模型误差率的常用公式。 然而,它仅能比较误差是相同单位的模型。


4.2相对平方误差(Relative Squared Error,RSE)

与RMSE不同,RSE可以比较误差是不同单位的模型。

4.3平均绝对误差(Mean Absolute Error,MAE)

MAE与原始数据单位相同, 它仅能比较误差是相同单位的模型。量级近似与RMSE,但是误差值相对小一些。

4.4相对绝对误差(Relative Absolute Error,RAE)

与RSE不同,RAE可以比较误差是不同单位的模型。

4.5决定系数 (Coefficient of Determination)

决定系数 (R2)回归模型汇总了回归模型的解释度,由平方和术语计算而得。

R2描述了回归模型所解释的因变量方差在总方差中的比例。R2很大,即自变量和因变量之间存在线性关系,如果回归模型是“完美的”,SSE为零,则R2为1。R2小,则自变量和因变量之间存在线性关系的证据不令人信服。如果回归模型完全失败,SSE等于SST,没有方差可被回归解释,则R2为零。

4.6标准化残差图(Standardized Residuals Plot)

标准化残差图是一个对在标准化尺度上显示残差分散图有帮助的可视化工具。标准化残差图与普通残差图之间没有实质不同,唯一区别是在Y轴的标准化可以更容易检测到潜在的异常值。

4.7召回率

我们应该最大化的是统计学上称为召回率或查全率(recall)的衡量指标,或者是最大化模型找到数据集中所有相关案例的能力。
  
召回率=真正例/(真正例+假反例)。也就是正确判为恐怖分子占实际所有恐怖分子的比例。

你可能注意到了这个等式中的一些细节:如果我们将所有的个体都预测为恐怖分子,那么模型的召回率就是 1.0!因为预测所有人都是恐怖分子,自然包括了恐怖分子。分号上面terrorists correctly identified=全部恐怖分子数。分母terrorists incorrectly labeled as not terrorists=0。

这样我们就得到了一个完美的模型吗?

当然,不是!在我们想要最大化的指标之间存在一个权衡。在召回率的例子中,当召回率增大时,精度会减小。同样,将 100% 的乘客标记为恐怖分子的模型可能是不可用的。

统计学为我们提供了表达直觉的词汇:这个新的模型是低精度(precision)的,或者说较低的仅识别相关数据点的能力。

4.8精度

精度=真正例/(真正例+假正例):也就是在所有判为恐怖分子中,真正的恐怖分子的比例。

现在我们可以看到,第一个模型给所有的个体标上了非恐怖分子的标签,这个模型是不能使用的。尽管它有着近乎完美的准确率,但是它的精度和召回率都是零,因为没有 TP(真正例)

假设我们轻微地修改一下模型,然后将一个个体正确地识别为恐怖分子。现在,精度是 1(没有假正例,FP),但是召回率很低,因为实际上会有很多假反例(FN)。

假设我们走到了另一个极端,将所有的乘客标记为恐怖分子,召回率就会是 1——我们将抓住每一个恐怖分子,但是精度会特别低,我们最终会拘留很多无辜的人。换言之,随着精度的增加,召回率会降低,反之亦然。

4.9精度—召回率权衡

4.9.1.结合精度和召回率

在某些情况中,我们也许需要以牺牲另一个指标为代价来最大化精度或者召回率。

例如,在之前的例子中,在对患者进行随访检查的初步疾病筛查中,我们可能希望得到接近于 1 的召回率—我们想找到所有实际患病的患者。
如果随访检查的代价不是很高,我们可以接受较低的精度。然而,如果我们想要找到精度和召回率的最佳组合,我们可以使用 F1 score 来对两者进行结合。

4.9.2.可视化精度和召回率

1)混淆矩阵(confusion matrix):给定一个模型的预测标签时,它可以被用来快速计算精度和召回率。

二分类的混淆矩阵总共包含四个不同的结果:真正例(TP)、假正例(FP)、真反例(TN),以及假反例(FN)。

列表示真实值,行表示预测值。行和列的交叉点指的就是这四种结果。例如,如果我们将一个数据点预测为正例,但是它实际上是反例,那么这就是一个假正例。


2)受试者特征曲线(ROC 曲线,Receiver Operating Characteristic curve):

ROC 曲线展示了当改变在模型中识别为正例的阈值时,召回率和精度的关系会如何变化。

为了将某个病人标记为患有某种疾病(一个正例标签),我们为每种疾病在这个范围内设置一个阈值,通过改变这个阈值,我们可以尝试实现合适的精度和召回率之间的平衡。如果我们有一个用来识别疾病的模型,我们的模型可能会为每一种疾病输出介于 0 到 1 之间的一个分数,为了将某个病人标记为患有某种疾病(一个正例标签),我们为每种疾病在这个范围内设置一个阈值,通过改变这个阈值,我们可以尝试实现合适的精度和召回率之间的平衡。

ROC 曲线在 Y 轴上画出了真正例率(TPR),在 X 轴上画出了假正例率 (FPR)。TPR 是召回率,FPR 是反例被报告为正例的概率。这两者都可以通过混淆矩阵计算得到。

a、选择最佳的诊断界限值。ROC曲线越靠近左上角,试验的准确性就越高。最靠近左上角的ROC曲线的点是错误最少的最好阈值,其假阳性和假阴性的总数最少

b、两种或两种以上不同诊断试验对算法性能的比较。在对同一种算法的两种或两种以上诊断方法进行比较时,可将各试验的ROC曲线绘制到同一坐标中,以直观地鉴别优劣,靠近左上角的ROC曲线所代表的受试者工作最准确。亦可通过分别计算各个试验的ROC曲线下的面积(AUC)进行比较,哪一种试验的 AUC最大,则哪一种试验的诊断价值最佳。

c、在阈值为 1.0 的情况下,我们将位于图的左下方,因为没有将任何数据点识别为正例,这导致没有真正例,也没有假正例(TPR = FPR = 0)。当降低阈值时,我们将更多的数据点识别为正例,导致更多的真正例,但也有更多的假正例 ( TPR 和 FPR 增加)。最终,在阈值 0.0 处,我们将所有数据点识别为正,并发现位于 ROC 曲线的右上角 ( TPR = FPR = 1.0 )。

五、总结

对于二分类问题:

• 真正例(TP):实际上是正例的数据点被标记为正例
• 假正例(FP):实际上是反例的数据点被标记为正例
• 真反例(TN):实际上是反例的数据点被标记为反例
• 假反例(FN):实际上是正例的数据点被标记为反例

召回率和精度衡量指标:

• 召回率(R):分类模型识别所有相关实例的能力
• 精度(P):分类模型仅仅返回相关实例的能力
• F1 score:使用调和平均结合召回率和精度的指标

召回率和精度的可视化:

• 混淆矩阵:展示分类模型的真实和预测标签的对应结果。
• 受试者特征曲线(ROC 曲线):画出真正例率(TPR)和假正例率(FPR),并将此作为模型归类正例阈值的函数。
• 曲线下面积(AUC):基于 ROC 曲线下方的面积,计算分类模型总体性能的指标。

机器学习模型效果评估指标与方法介绍相关推荐

  1. 【Pytorch-从一团乱麻到入门】:3、模型效果评估指标:ROC、AUC、precision、recall

    在构建模型中,我们经常会用到AUC.ROC等指标来进行模型效果评估 ROC全称是"受试者工作特征"(Receiver Operating Characteristic).ROC曲线 ...

  2. 机器学习模型效果评估

    总第96篇 前言 前面的推文中介绍了几种常用的机器学习算法,每个算法都有各自的优劣势,我们应该选择根据每个算法的优劣势去合理的选择适合我们需求的算法,以此达到效果最优,那么什么样的效果才是最优的,用什 ...

  3. 模型效果评估指标(ROC、AUC/KS、Lift、PSI)

    以二分类问题为例 混淆矩阵(Confusion Matrix) 对测试集数据进行预测,得到下列混淆矩阵中的数据 注:TP.FN.FP.TN以预测的结果是否准确来命名. 预测模型评估指标的本质是从模型预 ...

  4. 【Pytorch-从一团乱麻到入门】:4、模型效果评估指标:ROC-AUC、PR-AUC及可能遇到的问题(1)

    1.ROC-AUC 和PR-AUC定义 AUC: 随机抽出一对样本(一个正样本,一个负样本),然后用训练得到的分类器来对这两个样本进行预测,预测得到正样本的概率大于负样本概率的概率. ROC-AUC ...

  5. 【Pytorch-从一团乱麻到入门】:5、模型效果评估指标:ROC-AUC、PR-AUC及可能遇到的问题(2)

    AUC的计算属实隐藏着无数的坑,一旦遇到就得吭哧吭哧排查很久,在次进行记录,给走过路过的小伙伴们提个醒. 1.Bug如下: 如果遇到ROC-AUC数值出现多个0.5,那么极有可能是数据本身的问题,例如 ...

  6. 机器学习第十篇:如何评价模型效果评估

    前言 前面的推文中介绍了几种常用的机器学习算法,每个算法都有各自的优劣势,我们应该选择根据每个算法的优劣势去合理的选择适合我们需求的算法,以此达到效果最优,那么什么样的效果才是最优的,用什么来衡量这个 ...

  7. 人工智能-模型评估:常见的模型评估指标与方法大全、汇总

    转自:[人工智能-综述-10]:模型评估 - 常见的模型评估指标与方法大全.汇总_文火冰糖的硅基工坊的博客-CSDN博客 目录 前言: 第1章 模型评估概述 1.1 什么是模型评估 1.2 模型评估的 ...

  8. [机器学习与scikit-learn-51]:模型评估-图解回归模型的评估指标MSE、MAE、RMSE、R2、RSS与代码示例

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  9. 关于模型的评估指标(超详细)

    文章目录 正负样本的选择 标准评估指标 回归问题的评估指标 SSE 和方差 均方误差(MSE) 均方根误差(RMSE) R Squared 分类问题的评估指标 错误率 召回率(查全率) 精确率(查准率 ...

  10. 机器学习中的评估指标与损失函数

    1. 写在前面 在准备找工作面试时, 发现机器学习中的评估指标和损失函数是一个经常要问题的话题, 对于一个算法工程师,衡量模型的好坏以及怎么根据出现的问题进行调整是必备的技能,损失函数代表着模型的优化 ...

最新文章

  1. Ext结合DWR的关键代码(运行成功的DWRProxy)
  2. 2-Runtime objc_object objc_class
  3. 图像掩码操作的两种实现
  4. 详细设计说明书读后感_明晚十点,和大家详细介绍这本版式设计新书!
  5. php5.4版本不爆错误,PHP5.4以上版本出现的错误:Fatal error: Call-time pass-by-reference has been removed | 严佳冬...
  6. 《零基础看得懂的C语言入门教程 》——(五)C语言的变量、常量及运算
  7. c#完美截断字符串(中文+非中文)
  8. 4399元!苹果2020年终极新品上市就遇麻烦:付款3个月才能到货
  9. SwiftUI实战一:从入门到精通
  10. dosbox汇编环境turboC环境配置
  11. java 已知两点坐标,与第三点距离,计算第三点的坐标。
  12. shiro框架实现权限管理
  13. Springcloud OAuth 授权码踩坑系列(二)
  14. LabWindows操作Excel
  15. mysql数据库 with as用法
  16. ONF测试工作张攀:OpenFlow控制器性能测试工具进展
  17. 程序设计——第七周作业(Floyd:胜负未知场数;dijkstra:猫猫快线最快线路;SPFA:城市收税)
  18. 实验二 利用Excel表格进行掷骰子模拟实验
  19. 【Spring系列】- 手写模拟Spring框架
  20. 清华生命学院 2017 就业报告:就业率仅 51%

热门文章

  1. IDEA破解教程(破解到2100年)的注意事项
  2. 弹性地基梁板实用计算_YJK软件前处理之计算参数的设置(上篇)
  3. 讯飞翻译机抢镜背后,跨语种沟通迈入全新时代
  4. 道德经和译文_道德经全文和译文
  5. PMP知识点:项目成本管理计算公式
  6. 【无线安全实践入门】破解WiFi密码的多个方法
  7. Python3爬虫-selenium爬取百度文库
  8. 双系统怎么给Linux扩容,linux/win 双系统环境下为linux扩容
  9. 第3章基本程序设计结构(java知识点笔记)
  10. win10热点开启后,手机可以连上热点但无法连接网络