机器学习笔记--classification_report精确度/召回率/F1值

article/2025/9/12 2:23:01

classification_report简介

sklearn中的classification_report函数用于显示主要分类指标的文本报告.在报告中显示每个类的精确度,召回率,F1值等信息。
主要参数:
y_true:1维数组,或标签指示器数组/稀疏矩阵,目标值。
y_pred:1维数组,或标签指示器数组/稀疏矩阵,分类器返回的估计值。
labels:array,shape = [n_labels],报表中包含的标签索引的可选列表。
target_names:字符串列表,与标签匹配的可选显示名称(相同顺序)。
sample_weight:类似于shape = [n_samples]的数组,可选项,样本权重。
digits:int,输出浮点值的位数.

classification_report用法示例:

from sklearn.metrics import classification_report
y_true = [0, 1, 2, 2, 2]
y_pred = [0, 0, 2, 2, 1]
target_names = ['class 0', 'class 1', 'class 2']
print(classification_report(y_true, y_pred, target_names=target_names))

输出:

             precision    recall  f1-score   supportclass 0       0.50      1.00      0.67         1class 1       0.00      0.00      0.00         1class 2       1.00      0.67      0.80         3avg / total       0.70      0.60      0.61         5

其中列表左边的一列为分类的标签名,右边support列为每个标签的出现次数.avg / total行为各列的均值(support列为总和).
precision recall f1-score三列分别为各个类别的精确度/召回率及  F1 值.

精确度/召回率/F1值

精确度&召回率

精确度/召回率/F1值在<统计学习方法>和周志华的<机器学习>中都有详细介绍,以下参考维基百科中Precision and recall的说明:

如下图所示,假设有若干张图片,其中12张是狗的图片其余是猫的图片.现在利用程序去识别狗的图片,结果在识别出的8张图片中有5张是狗的图片,3张是猫的图片(属于误报).

这里写图片描述
图中,实心小圆代表狗的图片,虚心小圆代表猫的图片,圆形区域代表识别结果.

则该程序的精度precision=5/8,召回率recall=5/12。

当一个搜索引擎返回30个页面时,只有20页是相关的,而没有返回40个额外的相关页面,其精度为20/30 = 2/3,而其召回率为20/60 = 1/3。在这种情况下,精确度是“搜索结果有多大用处”,而召回是“结果如何完整”。

 F1

 F1 值是精确度和召回率的调和平均值:

 2F1=1P+1R

 F1=2P×RP+R

精确度和召回率都高时,  F1 值也会高.  F1 值在1时达到最佳值(完美的精确度和召回率),最差为0.在二元分类中,  F1 值是测试准确度的量度。

示例说明:

from sklearn.metrics import classification_report
y_true = [0, 1, 2, 2, 2]
y_pred = [0, 0, 2, 2, 1]
print(classification_report(y_true, y_pred))

输出:

            precision    recall  f1-score   support0       0.50      1.00      0.67         11       0.00      0.00      0.00         12       1.00      0.67      0.80         3avg / total       0.70      0.60      0.61         5

例中:

真实值预测值
00
10
22
22
21

对示例程序中的结果:

  precision    recall  f1-score   support0       0.50      1.00      0.67         1
1       0.00      0.00      0.00         1
2       1.00      0.67      0.80         3

第一行的计算:
即0的预测情况:真实值中有1个0,预测值中有2个0,其中1个预测正确,1个预测错误.如图所示:

这里写图片描述

则,
 P=12=0.5
 R=11=1
 F1=212×112+1=0.67

第二行的计算:
即1的预测情况:真实值中有1个1,预测值中有1个1,且预测错误.如图所示:
这里写图片描述
则,
 P=01=0
 R=01=0
 F1=0

第三行的计算:
即2的预测情况:真实值中有3个2,预测值中有2个2,且预测正确.如图所示:

这里写图片描述

则,
 P=22=1
 R=23=0.67
 F1=21×231+23+=0.8


http://chatgpt.dhexx.cn/article/r084fPh4.shtml

相关文章

YOLOv5~目标检测模型精确度

还是yolo5的基础啊~~ 一些关于目标检测模型的评估指标:IOU、TP&FP&FN&TN、mAP等,并列举了目标检测中的mAP计算。 指标评估(重要的一些定义) IOU 也称重叠度表示计算预测回归框和真实回归框的交并比,计算公式如下: TP&FP&FN&…

睿智的目标检测20——利用mAP计算目标检测精确度

睿智的目标检测20——利用mAP计算目标检测精确度 学习前言GITHUB代码下载知识储备1、IOU的概念2、TP TN FP FN的概念3、precision(精确度)和recall(召回率)4、概念举例5、单个指标的局限性 什么是AP绘制mAP 学习前言 好多人都想算…

误差与精度

机械专业用于教授学生误差与精度概念的课程叫做《公差与测量》或者叫做《机械精度设计》,而公差或者精度的本质含义就是误差的大小,公差越小,误差越小,精度越高。所以机械专业这门课其本质教授的还是误差理论。 在学校并没有好好学…

层次分析法 AHP

层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家 T. L. Saaty 教授于上世纪 70 年代初期提出的一种简便、灵活而…

权重计算方法一:层次分析法(AHP)

目录 1.层次分析法原理介绍 2.层次分析法建模步骤 3.案例分析 3.1 题目简述 3.2 确定评价指标,建立层次关系 3.3 构造判断矩阵 3.3.1 标度定义 3.3.2 构造判断矩阵 3.4 一致性检验 3.5 层次总排序 4.代码实现 1.层次分析法原理介绍 关于层次分析法的具体原…

【数学建模】层次分析法(AHP)

层次分析法 文章目录 层次分析法用途一、模型介绍一道典型例题1.建立层次结构2.对于同一层次的个元素关于上一层次中的某一准则的重要性进行两两比较,构造两两比较矩阵(判断矩阵)。2.1 O-C矩阵(确定指标的权重)2.2 准则…

什么是AHP 层次分析法?

AHP层次分析法(The analytic hierarchy process)是一种解决多目标复杂问题的定性和定量相结合进行计算决策权重的研究方法。该方法将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标之间能否实现的标准之间的相对重要程度,并合理地给出每个决策…

[评价体系] 2、层次分析法AHP原理、例题

目录 1 基本介绍 2 建立步骤 2.1 建立递阶式层次结构模型 2.2 构造比较判断矩阵 2.3 层次单排序及一致性检验 2.4 层次总排序及其一致性检验 2.5 数据加权 3 案例:某学科创新能力评价指标体系 3.1 构建评价指标体系 3.2 构造判断矩阵及一致性检验 3.3 …

数学建模方法——层次分析法(AHP)

目录: 层次分析法简介层次分析法基本原理构造判断矩阵一致性检验一致性检验通过的判断矩阵求权重 4.1 算数平均法求权重 4.2 几何平均法求权重 4.3 特征值法求权重总结 0. 层次分析法简介 层次分析法(Analytic Hierarchy Process,简称AHP&…

层次分析法(AHP)算法简介

一、模型介绍 层次分析法(AHP)是美国运筹学家萨蒂于上世纪70年代初,为美国国防部研究“根据各个工业部门对国家福利的贡献大小而进行电力分配”课题时,应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分…

层次分析法(AHP)原理_例题应用及代码

层次分析法(AHP)原理应用及代码 1.AHP算法步骤2.算法举例第一步:建立递阶层次图第二步:建立判断矩阵计算五个指标的判断矩阵计算三个方案相对于某一指标的权重第三步:进行一致性检验一致性检验的步骤第一步:计算一致性指标 C I CI CI第二步:查找对应的平均随机一致性指标…

小话层次分析法(AHP)

在目标决策领域,有的决策数据信息是量化的,如一个项目的未来收益、消耗成本等,通过对各种信息进行计算可以做出较好的决策;但有的决策数据信息并不全是数字化的,如项目信息为“这个收益更好”、“这个成本更高”这样的…

清风数学建模学习笔记——层次分析法(AHP)

层次分析法 层次分析法(analytic hierarchy process),简称AHP。是建模比赛中比较基础的模型之一,其主要解决评价类的问题。如选择哪种方案最好,哪位员工表现最好等。 它是一个较为 主观 的评价方法,其在赋权…

层次分析法-yaahp软件使用

yaahp下载资源: 链接:https://pan.baidu.com/s/1Y08-wgn0YTzrDCaqToZLRg 提取码:avkc 目录 一.打开yaahp软件 1.新建AHP空白文件 2.进入画布页面。 3.点击检查模型按钮,检查模型是否正确 二、构造判断矩阵 1.先创建决策…

AHP层次分析法详解

APH简介 起源 层次分析法(AHP)是美国运筹学家Saaty于上世纪70年代初,应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分析方法。层次分析法是一种解决多目标的复杂问题的定性与定量相结合的决策分析方法。该方法将…

AHP(层次分析法)的全面讲解及python实现

一、层次分析法的使用流程: 1. 建立层次结构模型 首先绘出层次结构图,正常三层是比较常见的:决策的目标、考虑的决策准则因素和决策对象。按它们之间的相互关系分为最高层、中间层和最低层(如下图是四层结构的) 2. 分…

层次分析法(AHP)基础概念整理+步骤总结

层次分析法是用来根据多种准则,或是说因素从候选方案中选出最优的一种数学方法 递阶层次的建立与特点 一般分为三层,最上面为目标层,最下面为方案层,中间是准则层或指标层。 最顶层是我们的目标,比如说选leader&…

层次分析法(AHP)模型的应用案例

层次分析法(AHP)模型的特点就是通过搭建递阶的层次结构,把我们生活中的判断事件转化到两两比较层次上面,从而把难于定性的判断来变为可实现数据操作的重要程度方面。在实际情况下,决策者可使用层次分析法(A…

层次分析法(AHP)详细步骤

1. 算法简介 层次分析法(AHP)是美国运筹学家萨蒂于上世纪70年代初,为美国国防部研究“根据各个工业部门对国家福利的贡献大小而进行电力分配”课题时,应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分…

第一讲 综合评价分析—层次分析法(AHP)

写在前面:本文仅用于记录清风数模课程的笔记总结 AHP的主要特点是通过建立递阶层次结构,把人类的判断转化到若干因 素两两之间重要度的比较上,从而把难于量化的定性判断转化为可操作的重 要度的比较上面。在许多情况下,决策者可以…