模型评估和选择(一)| 学习笔记

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 快速学习模型评估和选择。

开发者学堂课程【高校精品课-北京理工大学-数据仓库与数据挖掘(上):模型评估和选择(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/921/detail/15648


模型评估和选择(一)

 

内容介绍:

一、前言

二、分类器的评估度量

三、分类器评估的框架

四、orc 曲线

五、模型选择因素

 

一、前言

对于分类模型,在经过训练之后,需要对分类模型进行评估,主要是评估它的准确度,也就是 accuracy。除了accuracy,是不是还需要一些其它的度量标准呢?

在这里主要介绍用于计算分类器准确率的两种方法,一种是留余法,一种是交叉验证法,此外,还会介绍如何使用 or c曲线来比较多个分配器,并选择比较合适的分类器。

 

二、分类器的评估度量

首先看一下分类器的评估度量。

1.构建混淆矩阵

要度量分类器的性能,首先的前提是要构建分类器的混淆矩阵。

(1)、以二分类为例,对于二分类问题来说就是它的类别主要有两类。对于二分类问题,它的混淆矩阵是一个2×2的矩阵。每一行代表的是实际的类别,它的每一列代表的是预测的类别。

在2×2的矩阵中,它的向下的对角线,第一行第一个数据方框代表的是叫做 tp,也就是它的真实类别为正事例而预测类别也为正事例的数据对象的个数。,和它对角线的是叫做 tn,指的是它的预测类别和真实类别,都为负事例的数据对象的个数。

向上的对角线代表的是预测错误的数据对象的个数,其中第一行第二个数据代表的是它真实类别为正而被预测为负的数据对象的个数,而第二行第一个数据代表的是它真实类别为负,但是预测为证实力的数据对象的个数。通过构建混淆矩阵之后,就比较方便的计算评估标准。

图片61.png 

(2)、m×m的矩阵。在混淆矩阵的基础上,还可以增加一行和一列用来进行统计。对于多分类问题,可以构建一个m×m的矩阵,它的形式和二分类的混淆矩阵是非常类似的。

(3)、举一个例子介绍混淆矩阵。

比如是否买电脑的一个训练集类别,有两种 yes 和 no,每一行代表的是它的真实值为 yes 的数据对象的个数。真实值为 yes  的数据对象又包含两类,一类是被正确预测的,一类是被错误预测的。在增加的一行和一列中,最后的交叉的数目是训练集的数据对象的个数。每一行的个数代表的是某一个真实类别的数据对象的个数,而每一列代表的是预测类别为 yes 的数据对象的个数和预设的类别为 no 的数据对象的个数。

图片62.png 

,通过构建这样的混淆矩阵,计算分类器的性能指标就比较方便。

2.分类器的度量标准

首先来看一下分类器的度量标准有哪些,最常用的 accuracy 就是它的准确率。

(1)accuracy

准确率的计算公式是等于(tp+tn)÷all,其中 tp 和 tn 可以看混淆矩阵,代表的是被正确分类的数据对象的个数,除以all就表示的是被正确分类的数据对象的个数,在训练集的所有数据对象的比例。

图片63.png

(2)、Error rate

和 accuracy 对立的一个指标就是比较熟悉的 Error rate,就是用 1 -accuracy,它指的是 (FP+FN)/ALL,FP 和 FN 代表的是被错误分类的数据对象元素的数目。

除了 accuracy 和 Error rate,还有很多其它的度量标准,主要是因为要考虑到数据不平衡的问题,也就是刚才给介绍了不平衡的分类问题,在不平衡的分类问题中,如果还用accuracy和Error rate度量分类器的性能就不太合适,因为如果负事例个数比较多,判断一个正事例的失误并不能引起这些度量指标太大的改变,所以呢,在分类器的度量指标中呢,又增加了一些新的度量。

(3)、Sensitivity

比如Sensitivity,也就是灵敏性,灵敏性的计算公式呢是用 tp÷p,它的含义就是正式里中有多少正式里被正确分类了。这个敏感性又被称之为 recall,就是召回率。

(4)、Specificity

和它所对应的一个指标是叫做 Specificity,就是特效性,特效性的计算公式是 tn÷n 它的含义就是代表的是在负事例中有多少负事例被正确分类。

图片64.png 

(5)、精度

此外,还有一个度量标准,就是精度,精度的计算公式就是 tp÷(tp+fp),tp+fp 指的是被分类为正事例的数据元素的个数,而 tp 是被正确分类为正事例的个数。对于精度,它的含义就是在预测为正事例的比例中有多少是真正的正事例。

和它所对应的就是 recall,就是刚才介绍的召回率,就是用 tp÷(tp+fn),它的含义就指的是在我的正事例中有多少真事例被正确的预测。

图片65.png

(6)、F measure

召回率和精度,它们两个指标是相互制约的,为了平衡这两种指标,提出了一种新的分类器的度量指标,把它称之为F-score 或者是 F measure,下图是 F measure 的计算公式,通过调整 β,可以去设置更看重精度,还是更看重召回率。

图片66.png

当这个 β 取一的时候,把它称之为叫做 F1 score,F1 score 就认为这个分类器的精度和它的召回率是同等重要的,它的计算公式就是 2 PR 除以 p+r。

3.度量标准的计算方法

下面通过一个真实的例子介绍这样的一些指标的计算。

首先,这是一个二分类的混淆矩阵,它的类别有两种,一种 yes 和 no。

(1)、那先计算它的 sensitivity,sensitivity 就是指的是在真是事例中有多少真事例被正确分类,就是90÷300。

(2)、特效性就是在负事例中有多少被正确 分类,就是9560÷970。

对于 accuracy 就是所有分类正确的数据元素的数目占全体数据元素的比例,就是90+9560除以一万。

(3)、和 accuracy 对立的错误率就是 error rate,就是等于分类错误的数数据元素的个数占总体数据元素的比率。

图片67.png

(4)、那除此之外呢,还可以计算精度,精度就指的是在所有的判别为正事例的数据元素中有多少是真正的真事例,就使用90÷230。

(5)、而召回率就是指的是在正事例中有多少被正确的判断,就是90÷300跟刚才的灵敏性是一样的。

(6)、最后,还可以计算一下它的F1 score,这个时候F1 score就是等于2PR/(P+R)是33.96。

图片68.png

这就是关于分类器的一些度量标准的计算方法。

相关文章
|
4天前
|
机器学习/深度学习 安全
一文读懂分类模型评估指标
模型评估是深度学习和机器学习中非常重要的一部分,用于衡量模型的性能和效果。本文将逐步分解混淆矩阵,准确性,精度,召回率和F1分数。
91 1
|
机器学习/深度学习 自然语言处理 算法
文本摘要(text summarization)任务:研究范式,重要模型,评估指标(持续更新ing...)
本文是作者在学习文本摘要任务的过程中,根据学习资料总结逐步得到并整理为成文的相关内容。相关学习资料(包括论文、博文、视频等)都会以脚注等形式标明。有一些在一篇内会导致篇幅过长的内容会延伸到其他博文中撰写,但会在本文中提供超链接。 本文将主要列举里程碑式的重要文本摘要论文。 注意:除文首的表格外,本文所参考的论文,如本人已撰写对应的学习博文,则不直接引用原论文,而引用我撰写的博文。 本文会长期更新。
文本摘要(text summarization)任务:研究范式,重要模型,评估指标(持续更新ing...)
|
4天前
时间序列分析实战(十一):ECM误差修正模型
时间序列分析实战(十一):ECM误差修正模型
|
4天前
R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程
R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程
|
4天前
|
自然语言处理 安全 算法
23REPEAT方法:软工顶会ICSE ‘23 大模型在代码智能领域持续学习 代表性样本重放(选择信息丰富且多样化的示例) + 基于可塑权重巩固EWC的自适应参数正则化 【网安AIGC专题11.22】
23REPEAT方法:软工顶会ICSE ‘23 大模型在代码智能领域持续学习 代表性样本重放(选择信息丰富且多样化的示例) + 基于可塑权重巩固EWC的自适应参数正则化 【网安AIGC专题11.22】
81 0
23REPEAT方法:软工顶会ICSE ‘23 大模型在代码智能领域持续学习 代表性样本重放(选择信息丰富且多样化的示例) + 基于可塑权重巩固EWC的自适应参数正则化 【网安AIGC专题11.22】
|
4天前
|
机器学习/深度学习 算法 PyTorch
【PyTorch深度强化学习】带基线的蒙特卡洛策略梯度法(REINFOECE)在短走廊和CartPole环境下的实战(超详细 附源码)
【PyTorch深度强化学习】带基线的蒙特卡洛策略梯度法(REINFOECE)在短走廊和CartPole环境下的实战(超详细 附源码)
54 0
|
6月前
|
机器学习/深度学习 自然语言处理 安全
【网安AIGC专题10.11】论文1:生成式模型GPT\CodeX填充式模型CodeT5\INCODER+大模型自动程序修复(生成整个修复函数、修复代码填充、单行代码生产、生成的修复代码排序和过滤)
【网安AIGC专题10.11】论文1:生成式模型GPT\CodeX填充式模型CodeT5\INCODER+大模型自动程序修复(生成整个修复函数、修复代码填充、单行代码生产、生成的修复代码排序和过滤)
107 0
|
11月前
|
机器学习/深度学习 人工智能 算法
强化学习从基础到进阶-常见问题和面试必知必答5::梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)
强化学习从基础到进阶-常见问题和面试必知必答5::梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)
|
11月前
|
机器学习/深度学习 人工智能 算法
强化学习从基础到进阶-案例与实践[5]:梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)
强化学习从基础到进阶-案例与实践[5]:梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)
强化学习从基础到进阶-案例与实践[5]:梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)
|
11月前
|
机器学习/深度学习 人工智能 算法
强化学习从基础到进阶-常见问题和面试必知必答[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战
强化学习从基础到进阶-常见问题和面试必知必答[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战