[机器学习与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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • powerDesigner生成HTML报表

    powerDesigner生成HTML报表报告-GenerateReport

    2022年9月16日
    4
  • 虚拟机与宿主机网络配置——可互通可上网「建议收藏」

    虚拟机与宿主机网络配置——可互通可上网「建议收藏」     为了学习和使用Linux,多数人选择了使用虚拟机的方式来安装Linux系统。这样我们就可以在windows系统中安装Linux系统了,其中windows机器系统本身我们称作宿主机,安装的虚拟机系统我们简称虚拟机。     由于虚拟机提供的几种网络方式,要么是虚拟机可以ping通宿主机反之不行,要么是虚拟机之间可以互通但宿主机不能访问虚拟机,所以在实际应用中多数被两者间的网络互通和是否…

    2022年8月20日
    15
  • java编程常用软件

    java编程常用软件有大神曾说“给我一个记事本,我还你一个项目”,作为小白的我,以前也对这句话深信不疑,但当我参加人生第一次编程考试的时候,我发现我用记事本码代码的速度实在是太慢了,一样的代码,别人用eclipseIED编写用了5分钟,而我至少半小时。虽然有点强行甩锅IDE的嫌疑,但有款好的编程软件,就会让你打代码速度更快,让你的头发掉的更少……废话讲完了,以下是我推荐的几款编程常用软件:…

    2022年6月14日
    38
  • CentOS5.3+Nginx0.7.57+Postfix+Extmail邮件系统安装配置(一))

    CentOS5.3+Nginx0.7.57+Postfix+Extmail邮件系统安装配置(一))

    2021年7月31日
    74
  • IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?「建议收藏」

    IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?「建议收藏」背景知识IP地址IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a

    2022年6月24日
    33
  • useGeneratedKeys属性

    useGeneratedKeys属性Springboot中Mybatis配置文件Mapper参数useGeneratedKeys=“true”keyProperty=“id”useGeneratedKeys设置为true时,表示如果插入的表id以自增列为主键,则允许JDBC支持自动生成主键,并可将自动生成的主键id返回…

    2022年6月23日
    42

发表回复

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

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