模型评估指标

1.回归模型

        回归模型常常使用MSE均方误差,预测值与真实值之间的平均差距

2.分类模型

2.1 Accuracy正确率

        分类正确的数目的占比    

        

        但在类别不平衡的情况下,模型可能倾向于预测占多数的类别,导致Acc高但对少数类别的预测效果其实比较差的。

2.2 类别不平衡的指标

1.先验知识

        假设+1为positive正向类,-1为negative负向类。对于一个分类模型会有如下情况

True positive(TP):预测为positive,实际上确实为positive。正确的预测了正向类

False negative(FN):预测为negative,实际上却为positive。错误的预测成负向类
False positive(FP):预测为positive,实际上却为negative。错误的预测成正向类

True negative(TN):预测为negative,实际上确实为negative。正确的预测了负向类

样本总数量Total=TP+FN+TN

正向类样本数量P=TP+FN

负向类样本数量N=TN+FP

于是我们可以得到一些指标


 

2.Receiver Operating Characteristics Curve,ROC——接受者操作特征曲线

2.1 如何得到ROC曲线

        假设我们有一个二分类模型,也就是逻辑回归模型

                        ​        

        注意现在这个式子和以前有些不同,现在多了一个阈值(threshold)b,当​时经过sigmoid函数输出会大于0.5,最终会输出1(有些地方的描述是修改输出1的阈值,两者想要说明的效果是一样的)

        当b趋向于-∞时,恒>0,即恒>0.5,最终对于任意x输入都预测为1。此时FN=0,TN=0,FPR=\frac{FP}{0+FP}=1,TPR=\frac{TP}{TP+0}=1

         当b趋向于+∞时,恒>0,即恒>0.5,最终对于任意x输入都预测为1。此时FN=0,TN=0,FPR=\frac{FP}{0+FP}=1,TPR=\frac{TP}{TP+0}=1

        当b由小变大时,FRP和TPR的值都会增加

        最终对于每一个b,我们都可以得到一对TRP和FPR的值,以FPR为x轴,TPR为y轴绘制的图就是ROC图,如下图示例

        在二元分类任务中,ROC曲线用于描述接受真正样本并同时拒绝负样本的学习模型的性能。

2.2 如何通过ROC曲线判断比较模型性能

        通常我们希望模型的TPR更高而FPR更低

        第一种方法:更靠近左上角的曲线性能是更好的,因为PR更高而FPR更低

        如蓝色的曲线的模型就好于红色曲线的模型

        第二种方法:通过ROC曲线下方与坐标轴围成的面积大小AUC(Area under the curve),AUC越大,对应的模型性能越好。故又叫AUC-ROC曲线

2.3 对角线的意义

        AUC-ROC 曲线的对角线代表随机猜测模型的性能。这条对角线是指当模型对样本进行随机分类时得到的 ROC 曲线。在这条对角线上,TPR=FPR,因为随机猜测的模型的正确率为0.5,对正负样本的分类没有区分度,所以这种情况下 ROC 曲线表现为一条直线,斜率为 1。

        对于 AUC-ROC 曲线,如果一个模型的 ROC 曲线在对角线上方(AUC 值大于 0.5),表示模型的性能优于随机猜测;而如果 ROC 曲线在对角线以下(AUC 值小于 0.5),则说明模型性能不如随机猜测。

        因此,AUC-ROC 曲线下的面积(AUC 值)越接近于 1,代表模型的性能越好;而越接近 0.5,则说明模型的性能越接近于随机猜测。

3.Precision and Recall

3.1 定义

        1.召回率/查全率Recall召回率是指在所有实际属于正类别的样本中,被分类器正确预测为正类别的样本所占的比例。例:在所有实际上有恶性肿瘤的病人中,成功预测有恶性肿瘤的百分比

        2.精确率/查准率Precision=\frac{TP}{TP+TN}精确率是指在所有被分类器预测为正类别的样本中,实际上确实属于正类别的样本所占的比例。例:我所有我们预测有恶性肿瘤的病人中,实际上由恶性肿瘤的病人的百分比

3.2 性质
  • 召回率和精确率适用于类别不平衡
  • 提高精确率可能会导致召回率下降(常常是提高预测1的阈值),因为模型更谨慎,更倾向于只将非常确信是正例的样本预测为正例,这可能导致漏掉一些的真正例,从而降低召回率。

  • 提高召回率可能会导致精确率下降(常常是降低预测1的阈值),因为模型更倾向于将更多的样本预测为正例,包括一些可能不是真正正例的样本,这可能会增加假正例的数量,从而降低精确率。

  • 一个好的模型两者都应该兼并良好的精确率和召回率​​​​​

                        

3.3 PR-curve

        同样的,我们将不同的阈值情况下,得到两者的值绘制成图表,就得到了PR-curve

        

3.4 平均精度(Average Precision,AP)

        PR-curve曲线与坐标轴围成的面积。AP 考虑了不同阈值下精确率和召回率之间的平衡,一个较高的 AP 值意味着在保持高精确率的同时,也能保持较高的召回率。AP是针对单个类来说的。

3.5 Mean Average Precision (mAP)

        mAP 是衡量模型对多个类别的检测性能的常见指标。对每个类别,都会计算其对应的 AP,然后将所有类别的 AP 取平均得到 mAP。

                                        (C代表类别数目)

        当类别平衡时,我们更关注精确率而不是召回率,于是mAP可以修改为如下

                                ​​​​​​​        ​​​​​​​        ​​​​​​​

        直接使用每个类精确率的均值

3.6 F-Score

        F-分数是精确率和召回率的加权调和平均值,用于评估模型在不同类别之间取得平衡的能力。

                  

        β 用于调整 F-分数中精确率和召回率的权重,产生不同的平衡效果。

  • 当 β > 1 时,模型对召回率的重视程度更高,F-分数更倾向于关注召回率。
  • 当 β < 1 时,模型对精确率的重视程度更高,F-分数更倾向于关注精确率。
  • 当 β = 1 时,即为 F1-Score

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

2.3 混淆矩阵(Confusion Matrix

        混淆矩阵是一个分类情况的可视化工具

  • 混淆矩阵的每一列代表了模型预测类别,每一列方格总数目代表模型预测该列类别的数目/占比
  • 每一行代表了数据的真实类别,每一行方格总数目代表真实该行类别的数目/占比(行列反过来也可以)
  • 方格中以数目或者比例的形式显示
  • 常常还会有热力图提高可视化效果

        ​​​​​​​

        解读一下这个混淆矩阵:

  • 类别共有三类:setosa,versicolor,virginica
  • 13代表模型预测为setosa同时真实标签也为setosa为13个;10代表模型预测为versicolor同时真实标签为versicolor为10个,依次类推

        ​​​​​​​        

  •  左上角1代表,所有的setosa都被正确预测;0.62代表模型预测versicolor正确的占versicolor总数目比例62%,另外有38%被预测成了virginica

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/225578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue脚手架 Vue CLI安装

目录 0.为什么要安装Vue CLI脚手架 1.配置方法 1.全局安装 (一次) 2.查看Vue版本&#xff08;一次&#xff09; 报错&#xff1a;出现禁止运行脚本 3.创建项目架子&#xff08;可多次&#xff09; 报错npm err! 问题&#xff1a;已知npm换过国内源&#xff0c;且进度条…

go-zero目录结构和说明

. ├── code-of-conduct.md 行为准则 ├── CONTRIBUTING.md 贡献指南 ├── core 框架的核心组件 │ ├── bloom 布隆过滤器&#xff0c;用于检测一个元素是否在一个集合中 │ ├── breaker 熔断器&am…

MicroPython相关教程

WebRepl MicroPython-ESP32之WebRepl-1Z实验室 - 简书 https://www.jianshu.com/p/c2ddd4fd05be ESP32上面webrepl的开启与连接 - 简书 https://www.jianshu.com/p/f4163eae4a05 Esp32安装micropython和配置webrepl记录备忘 - 哔哩哔哩 https://www.bilibili.com/read/cv121…

工资计算_分支结构 C语言xdoj63

问题描述 小明的公司每个月给小明发工资&#xff0c;而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资为S元&#xff0c;则他应交的个人所得税按如下公式计算&#xff1a; 1&#xff09; 个人所得税起征点为3500元&#xff0c;若S不超过3500&#xff0c;则…

数据挖掘目标(客户价值分析)

import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as snsIn [2]: datapd.read_csv(r../教师文件/air_data.csv)In [3]: data.head()Out[3]: Start_timeEnd_timeFareCityAgeFlight_countAvg_discountFlight_mileage02011/08/182014/0…

android 13.0 app应用安装黑名单

1.概述 在13.0系统rom定制化开发中,客户需求要实现应用安装黑名单功能,在白名单之中的应用可以安装,其他的app不准安装,实现一个 控制app安装的功能,这需要从app安装流程入手就可以实现功能 PMS就是负责管理app安装的,功能就添加在这里就可以了,接下来看具体实现这个功能…

uniapp播放 m3u8格式视频 兼容pc和移动端

支持全自动播放、设置参数 自己摸索出来的,花了一天时间,给点订阅支持下,订阅后,不懂的地方可以私聊我。 代码实现 代码实现 1.安装dplayer组件 npm i dplayer2. static/index.html下引入 hls 引入hls.min.js 可以存放在static项目hls下面<script src="/static…

PyGame图形绘制函数详解

文章目录 五种图形矩形圆形 五种图形 除了直线之外&#xff0c;pygame中提供了多种图形绘制函数&#xff0c;除了必要的绘图窗口、颜色以及放在最后的线条宽度之外&#xff0c;它们的参数如下表所示 函数图形参数/类型rect矩形Rectellipse椭圆Rectarc椭圆弧Rect, st, edcircl…

Pytorch当中的.detach()操作是什么意思

.detach() 是 PyTorch 中用于从计算图中分离张量的方法。当我们在PyTorch中进行张量运算时&#xff0c;操作会构建一个计算图来跟踪计算历史&#xff0c;这个计算图用于自动求导和反向传播来计算梯度。 使用.detach()方法可以将一个张量从当前的计算图中分离出来&#xff0c;使…

如何实现填表后分配序列号、活动抢票抽奖、自助分配座位号?

&#x1f4f1;发布者想要实现让用户在填表后自动分配序列号、座位号&#xff0c;或制作活动抢票抽奖系统&#xff0c;该如何实现&#xff1f; &#x1f4cc;使用教程 &#x1f4d6;案例1&#xff1a;制作活动抽奖系统 使用预置数据分配的随机分配功能&#xff0c;以活动抽奖为例…

《C++新经典设计模式》之第9章 命令模式

《C新经典设计模式》之第9章 命令模式 命令模式.cpp 命令模式.cpp #include <iostream> #include <list> #include <memory> using namespace std;// 5种角色 // Receiver&#xff08;接收者&#xff09;&#xff0c;Cook&#xff0c;提供请求业务的处理接口…

标书整体实施方案

一、标书整体实施方案概述 标书整体实施方案是一种全面、系统的方法&#xff0c;旨在确保标书的顺利完成和成功实施。它涵盖了从项目背景到招标文件分析&#xff0c;再到投标文件编制和投标的全过程。实施方案不仅提供了明确的工作流程和分工&#xff0c;还为整个标书制作团队…

针对网页html中插入动图gif不能循环播放只播放一次的解决方案

针对网页html中插入动图gif不能循环播放只播放一次的解决方案 原因分析解决方案 原因分析 使用图片编辑软件制作的过程中未启用“循环播放”功能&#xff0c;这里以Photoshop为例&#xff0c;演示设置GIF图片循环播放的操作流程&#xff1a;所需材料&#xff1a;PS。第一步&am…

MongoDB——模糊查询的两种方法

方法一&#xff1a;类似于结构性数据库的like db.users.find({fname: /zhangsan/}); 对应mysql的like用法&#xff1a;select * from users where fname like %zhangsan%; &#xff08;1&#xff09;如果要模糊查询以什么开头&#xff0c;方法如下&#xff1a; db.users.fi…

图灵日记之Leetcode删除有序数组中的重复项合并两个有序数组移除链表元素

题目 删除有序数组中的重复项题目入口题目内容思路代码c版本c嘎嘎版本 合并两个有序数组题目链接题目内容思路代码c版本(c嘎嘎版本与c版本内容一样) 移除链表元素题目链接题目内容思路1代码1思路2代码2思路3代码3 删除有序数组中的重复项 题目入口 题目内容 给你一个 非严格…

抖音ip地址切换什么原因

在如今的互联网世界中&#xff0c;抖音已经成为了一个非常受欢迎的应用程序&#xff0c;让人们可以通过短视频来分享生活点滴。然而&#xff0c;有时候我们可能会遇到一些问题&#xff0c;比如在使用抖音时需要进行IP地址切换。那么&#xff0c;为什么要切换IP地址呢&#xff1…

拼多多买家页面批量导出订单excel

拼多多买家页面批量导出订单excel 由于拼多多不支持订单导出excel清算起来很麻烦&#xff0c;就自己写了一个页面批量导出脚本代码。 首先打开拼多多手机端网站&#xff1a;https://mobile.pinduoduo.com/ 登录后点击我的订单打开f12审查元素 在控制台引入jquery&#xff0c;引…

IIC需要外部上拉电阻

由于I2C接口采用Open Drain机制&#xff0c;器件本身只能输出低电平&#xff0c;无法主动输出高电平&#xff0c;只能通过外部上拉电阻RP将信号线拉至高电平。 因此I2C总线上的上拉电阻是必须的&#xff01; 所以开发板上面的IIC如果没有外接上拉电阻&#xff0c;是无法使用该I…

【go语言开发】本地缓存的使用,从简单到复杂写一个本地缓存,并对比常用的开源库

本文主要介绍go语言中本地缓存的使用&#xff0c;首先由简单到复杂手写3个本地缓存示例&#xff0c;使用内置的sync&#xff0c;map等数据结构封装cache&#xff0c;然后介绍常见的一些开源库&#xff0c;以及对比常用的开源库 文章目录 前言手写本地缓存CacheNormalCacheExCac…

halcon3

*外焊缝检测 *读取图片 *遍历文件夹 list_files (D:/D程序/外焊缝方案/碳钢方 - 外/30000, files, Files) *文件格式筛选 tuple_regexp_select (Files, .*, ImageFiles) *依次读取图片 for I := 1 to |ImageFiles|-1 by 1 read_image (Image, ImageFiles[I]) dev_close_windo…