[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:目录前言:第1章混淆矩阵1.1二分类的混淆矩阵1.2三分类的混淆矩阵1.3N分类的混淆矩阵1.4混淆矩阵的作用第2章准确率、精确率、召回率2.1准确率/“正确率”:预测结果正确的百分比(只关心预测结果正确的样本,包括负样本)2.2精确率:预测结果为正例样本中真实为正例的比例(只关心预测结果为正的样本)2.3召回率:所有真实样本中,判为真实样本的.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/124437069


目录

前言:

第1章 混淆矩阵

1.1 二分类的混淆矩阵

1.2 三分类的混淆矩阵

1.3 N分类的混淆矩阵

1.4 混淆矩阵的作用

第2章 准确率、精确率、召回率

2.1 准确率/“正确率”:预测结果正确的百分比(只关心预测结果正确的样本,包括负样本)

2.2 精确率:预测结果为正例样本中真实为正例的比例(只关心预测结果为正的样本)

2.3 召回率:所有真实样本中,判为真实样本的比率(只关心真实样本中的正样本)

2.4 公式汇总

2.5 各种指标的几何意义

 2.6 F1值

2.7 N分类的指标


前言:

分类模型与回归模型的重要区别是,分类模型的预测值是离散量,而回归模型的预测值是连续量。回归模型的输出的数值是有实际的物理意义,数值之前是可以进行数值运算,可以进行比较大小的,因此分类模型的评估基础是残差(预测值减去真实值),而分类模型的输出值没有物理意义,只是某种类型的一种指代,输出数值之间不能进行直接运算,也无法进行比较,如果0,1,2,3,4五中分类,它们之间是没有大小的,不能说分类0就比分类4小。这就决定了分类模型的评估指标与回归模型的评估指标是完全不一样的计算方法!

第1章 混淆矩阵

1.1 二分类的混淆矩阵

匹配矩阵实际是一个表格,用来记录分类模型对样本数据的预测结果样本数据真实情况之间关系的可视化表示的表格

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

在上述案例中:

样本数据:就是上述9张图片。

样本真实标签类别:就是上述图片是否为汉堡,如果是汉堡,这标示成圆圈,如果不是,这表示成X. 在上述案例中,只有两张图是汉堡,其他图片都不是汉堡,位置为(1,2)、(2,3)

样本预测结果类别:模型对上述图片预测是否为汉堡的结果,如果是汉堡,这标示成圆圈,如果不是,这表示成X. 在上述案例中,有三张图被预测为汉堡,位置范围(2, 2)、(2,3)、(3,3)

很显然:

(2,2)和(3,3)是预测错误的,把非汉堡预测为汉堡了,这种称为

(1,2)也是预测错误的,把真实的汉堡预测成非汉堡了,这种称为漏网之鱼

(2,3)是预测对的,真实的汉堡,预测也为汉堡

其他也是预测对的,真实图片不是汉堡,预测结果也是“不是汉堡”

于是得到如下的表格:

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

 在上图中,预测和真实类别都用了“是”和“不是”表示。

为了进一步的区分方格子中数值的含义(用来标识预测的结果

样本预测结果类别:“是”用Postive表示,即正样本、“不是”用Negative表示,即负样本。

样本预测结果属性(不是类别)预测正确用True表示,预测错误用“Flase”表示。 

注意:

这里的正确(True)有两种情形:标签是汉堡,预测为汉堡;标签不是汉堡,预测不是汉堡,都表明是预测正确。

这里的错误(False)有两种情形:标签是汉堡,预测不是汉堡;标签不是汉堡,预测是汉堡,都表明是预测错误。

于是得到如下的图,即混淆矩阵:

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

(1)TP(True Positive): True表示预测正确,Possitve预测结果汉堡,表示是“正”样本。

TP表示预测正确,且预测为正样本的数目。

(2)TN(True Negative): True表示预测正确,Negative表示预测结果不是汉堡,表示是“负”样本。

TN表示预测正确,且预测为负样本的数目。

(3)FP(True Positive): False表示预测错误,Possitve表示预测结果汉堡,表示是“正”样本。

FP表示预测错误,且预测为样本的数目(说明真实标签为样本)

 (4)FN(True Negative): False表示预测错误,Negative表示预测结果不是汉堡,表示是“负”样本。

FP表示预测错误,且预测为样本的数目(说明真实标签为样本)

所有的绿色位置(TP+TN)都表示预测正确。

1.2 三分类的混淆矩阵

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

我们期望绿色位置中的数值尽可能的大,橙色位置中的数值尽可能得小,最好为0.

所有绿色位置都表示预测正确。

1.3 N分类的混淆矩阵

 [机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

我们期望绿色位置中的数值尽可能的大,橙色位置中的数值尽可能得小,最好为0.

所有绿色位置都表示预测正确。

1.4 混淆矩阵的作用

有了混淆矩阵的表格化的数据,我们期望:

  • 绿色位置中的数值尽可能的大。
  • 橙色位置中的数值尽可能得小,最好为0。

现在哟两个分类器,分布得到如下的混淆矩阵的表格:

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

 但有没有数学化的公式,能够利用混淆矩阵的数据,精确的表示模型不同维度的指标呢?

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

答案是“有”:准确率、精确率、召回率等关键性指标。

第2章 准确率、精确率、召回率

2.1 准确率/“正确率”:预测结果正确的百分比(只关心预测结果正确的样本,包括负样本)

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

 准确率A =  模型判断正确的样本数量/总样本数 = (1+5)/(1+5+1+2) = 6/9 =  67%

 准确率B =  模型判断正确的样本数量/总样本数 = (2+3)/(1+5+1+2) = 5/9 =  56%

准确率关注:正样本和负样本

2.2 精确率:预测结果为正例样本中真实为正例的比例(只关心预测结果为正的样本)

准确率关注:只关注正样本,不关注负样本。

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

 精确率A= 正确判定为正样本的数量/预测为正样本的总数=(1)/(1+2) = 1/3 = 33%

 精确率B= 正确判定为正样本的数量/预测为正样本的总数=(2)/(2+3) = 2/5 = 40%

2.3 召回率:所有真实样本中,判为真实样本的比率(只关心真实样本中的正样本)

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

 召回率A = 真实样本中正样本预测正确的样本/真实样本中正样本总数=1/2=50%

 召回率B = 真实样本中正样本预测正确的样本/真实样本中正样本总数=2/3=66% 

2.4 公式汇总

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

2.5 各种指标的几何意义

 [机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

 2.6 F1值

召回率与准确率是矛盾的。

召回率越高,就需要更宽松的条件把更多的样本预测为正样本。

准确率越高,就需要更严格的条件更精确的标识样本的正负属性,不能随意的把样本标识为正样本。

F1就是权衡召回率和准确率的指标,期望在召回率联合准确率中间取得一个最佳值,这种最佳值的情况下,召回率不是最高的,准确率也不是最高的,但他们整体的效果是最好的。

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

2.7 N分类的指标

[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率、精确率、召回率)与代码示例

N分类的指标与二分类类似, 不同的是:

准确率与针对于总体而言的,这与二分类一样。

精确率和召回率是针对某个具体的分类而言的,而不是总体,这与二分类不同。


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/124437069

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185497.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux如何下载安装软件超详细解析

    网上很多Linux下载软件的方法,看了很多帖子感觉Linux下载软件的方式有很多,每个人都有自己的习惯,对于一个新手来说及其不友好,有时候会看的很蒙。在这里做出总结。

    2022年4月16日
    1.2K
  • linux分区及格式_ubuntu安装系统分区

    linux分区及格式_ubuntu安装系统分区操作环境:vmware虚机一、整体流程在使用fdisk/parted等分区工具对硬盘分区之后,是否使用LVM由用户决定: 1)可以直接对分区后的硬盘进行格式化操作,之后挂载分区; 2)也可以先用LVM逻辑卷管理工具对分区后的物理卷进行管理,之后再对逻辑卷进行格式化操作,之后挂载分区。(LVM的分区类型为8e) 使用LVM的好处是方

    2025年6月12日
    0
  • java @apimodelproperty(apiignore)

    @ApiModel使用场景:在实体类上边使用,标记类时swagger的解析类。概述:提供有关swagger模型的其它信息,类将在操作中用作类型时自动内省。用法:@ApiModelProperty使用场景:使用在被@ApiModel注解的模型类的属性上。表示对model属性的说明或者数据操作更改。概述:添加和操作模型属性的数据。用法:…

    2022年4月14日
    292
  • Linux下C语言 system函数返回值「建议收藏」

    Linux下C语言 system函数返回值「建议收藏」例:status=system("./test.sh");1、先统一两个说法:(1)system返回值:指调用system函数后的返回值,比如上例中status为system返回值(2)shell返回值:指system所调用的shell命令的返回值,比如上例中,test.sh中返回的值为shell返回值。2、如何正确判断test.sh是否正确执行?仅判断status是否==…

    2022年9月2日
    2
  • pycharm激活码提示Key is invalid.(注册激活)2022.02.14

    (pycharm激活码提示Key is invalid.)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~9AAG1RZ8NI-eyJsaWNlb…

    2022年4月1日
    1.4K
  • DHCP 协议详解

    DHCP 协议详解1DHCP协议1.1DHCP协议理解定义:DHCP:DynamicHostConfigurationProtocol,动态主机配置协议,是一个用于局域网的网络协议,位于OSI模型的应用层,使用UDP协议工作,主要有两个用途:用于内部网或网络服务供应商自动分配IP地址给用户 用于内部网管理员对所有电脑作中央管理作用:动态分配IP地址,过程自动化,终端无需一一…

    2022年5月24日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号