模型性能评估简介

news2025/1/19 8:09:26

模型评估

混淆矩阵

  • Positive § - 正例
  • Negative (N) - 负例

结果:

                  预测为正类别    预测为负类别
真实为正类别      True Positive (TP)    False Negative (FN)
真实为负类别      False Positive (FP)   True Negative (TN)
  • TP - 预测 P, 实际 P, 模型预测正确
  • FP - 预测 P, 实际 N, 模型预测错误
  • FN - 预测 N, 实际 P, 模型预测错误
  • TN - 预测 N, 实际 N, 模型预测正确

指标

  • 准确率(Accuracy) - 判断模型正确分类的能力. (TP + TN) / (TP + TN + FP + FN)
  • 精确率(Precision)- 判断模型识别出来的结果有多精确的指标. TP / (TP + FP)
  • 召回率(Recall)- 查全率, 判断模型识别广度的指标. TP / (TP + FN)
  • F1 值 - 综合反应 精确率 和 召回率, 越高越好 2 * Precision * recall / (precision + recall)

精确率说明找到的 P 有多少是对的.

召回率说明所有的 P 中找到了多少个.

总结:

在这里插入图片描述

  • 准确率:理解成本最低,但不要滥用。在样本不均衡情况下,指标结果容易出现较大偏差;

  • 精确率:用于关注筛选结果是不是正确的场景,宁可没有预测出来,也不能预测错了。 比如,在刷脸支付的场景下,我们宁可告诉用户检测不通过,也不能让另外一个人的人脸通过检测;

  • 召回率:用于关注筛选结果是不是全面的场景,“宁可错杀一千,绝不放过一个”。 比如,在信贷场景下,我要控制逾期率,所以宁可把好用户拦在外面,不让他们贷款,也不能放进来一个可能逾期的用户。毕竟,用户一旦逾期,无法收回的本金产生的损失,比我多放过几个好用户带来的收益要多很多。

  • KS

  • AUC

基础指标:

  • TPR(True Positive Rate)真正率 - 评估模型正确预测的能力. TP / (TP + FN)
  • FPR(False Positive Rate)假正率 - 评估模型误判的比率或者误伤的比率. FP / (FP + TN)

ROC 曲线

在没有准确阈值的情况下,对所有分数进行分段处理,计算每一个切分点对应的TPR和FPR,以FPR做横轴、TPR做纵轴绘制出的一条曲线。

ROC代表的是模型召回率和误伤率之间的变化关系

在这里插入图片描述

红线是随机线.

模型的ROC曲线越贴近这条随机线,模型的分类效果就越差。

当ROC曲线越偏离随机线并且靠近左上方(0,1)点的时候,说明模型分类效果越好.

AUC

AUC: 把曲线右下方和横坐标轴闭合起来的面积作为一个评估指标。

AUC 一般在 0.5 到 1 之间.

  • AUC = 0.5 - 表示模型没有区分能力, 结果等于是随机猜测
  • AUC < 0.5 - 表示这个模型大概率很差
  • AUC > 0.5 && AUC < 1 - AUC 越高代表模型的区分能力越好

KS

KS 统计量是一种衡量累积分布函数(Cumulative Distribution Function,CDF)差异的指标。

KS代表的是在某一点上,模型召回率最大并且误伤率最小。

把召回率和误伤率都作为纵轴,把切分的分数点作为横轴。

一个切分点会同时得到TPR和FPR两个值,所以可以画出来两条曲线。

在这里插入图片描述

KS就是图中红色线和绿色线间隔最大时候的距离。

如果模型的KS或者AUC值很高,不一定是一件好事情。需要了解背后的原因,这有可能是数据不准确导致的。



模型评估的目的是找到真实标签和预测值之间的差异。

回归算法关注的是模型是否预测到了正确的数值。

回归算法常见的性能评估指标:

  • MSE (Mean Squared Error, 均方误差)
  • RMSE (Root-mean-squared Error, 均方根误差)
  • MAE (Mean Absolute Error, 平均绝对误差)
  • R^2 (R Squared 决定系数)

MSE (Mean Squared Error, 均方误差)

先求出所有样本真实值和预测值的差值平方,再除以样本数量。

在这里插入图片描述

  • n 代表测试样本数量
  • yi 代表实际值
  • ^yi 代表模型的预测值

结果:

  • MSE 一定大于等于 0
  • 对模型评估, 值越小越好

RMSE (Root-mean-squared Error, 均方根误差)

在对差值取平方的时候,经常会导致差值的量纲发生变化。

比如说,差值的单位是米,那对差值取平方,就会导致差值的量纲变成平方米。

因此,为了保证量纲相同,可以在MSE的基础上,再对它求一个平方根。

在这里插入图片描述

MAE (Mean Absolute Error, 平均绝对误差)

在这里插入图片描述

MSE vs MAE:

  • 算法工程师更多的是用 MSE, 数据放大, 更容易发现误差
  • 在实际效果评估的时候, 更多地使用 MAE, 更接近真实误差

RMSE vs MAE

  • RMSE 会导致误差在一定程度上被放大

R^2 (R Squared 决定系数)

以上几个指标在不同场景的值没有可对比性, 例如股票价格有几元也有几百元, 房价有几千到几十万.

如果要用一个模型来解决不同的问题, 选择 R^2 可以横向比较这个模型在哪个问题上表现更好.

用于评估回归模型拟合程度的统计指标。它表示模型解释变量方差的比例,范围在0到1之间。

在这里插入图片描述

  • n 表示样本数量
  • yi 表示真实值
  • ^yi 表示模型的预测值
  • _y 表示真实值的平均值

结果:

  • 越接近1表示模型对观测数据的拟合越好
  • 越接近0则表示模型的拟合程度较差

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

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

相关文章

Spring-5-切入点的高级使用

Spring提供了两个额外的Pointcut实现&#xff0c;分别是ComposablePointcut和ControlFlowPointcut,它们提供了所需的灵活性。 使用控制流切入点 由ControlFlowPointcut类实现的Spring控制流切入点类似于许多其他AOP实现中可用的cflow构造&#xff0c;尽管功能上没有那么强大。…

2023十大编程语言及未来展望

2023十大编程语言及未来展望 1. 2023年十大编程语言排行榜2. 十大编程语言未来展望PythonCCJavaC#JavaScriptPHPVisual BasicSQLAssembly language 1. 2023年十大编程语言排行榜 TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量&#xff0c;并使用搜索引擎&a…

vivado CDC约束-约束总线偏移

CDC限制 关于CDC约束 时钟域交叉&#xff08;CDC&#xff09;约束适用于具有不同启动和捕获时钟。根据发布和捕获时钟关系以及在CDC路径上设置的定时异常。例如同步时钟之间但被错误路径约束覆盖的CDC路径不定时&#xff0c;并且因此被视为异步CDN。异步CDC路径可以是安全的&…

CentOS7安装部署Zookeeper

文章目录 CentOS7安装部署Zookeeper一、前言1.简介2.架构3.集群角色4.特点5.环境 二、正文1.部署服务器2.基础环境1&#xff09;主机名2&#xff09;Hosts文件3&#xff09;关闭防火墙4&#xff09;JDK 安装部署 3.单机部署1&#xff09;下载和解压2&#xff09;配置文件3&…

Vue: 事件修饰符, 键盘事件, 鼠标事件,计算属性

目录 事件修饰符 阻止默认事件 阻止冒泡 允许触发一次 捕获模式 self passive 键盘事件 keyup & keydown 按键别名 注意tab 注意系统按键 自定义按键 鼠标事件 简介 鼠标焦点事件 计算属性 差值语法实现 methods实现 computed实现 get() set() 总…

基于AM62x的ARM+FPGA+Codesys低成本软PLC解决方案

GPMC并口简介 GPMC(General Purpose Memory Controller)是TI处理器特有的通用存储器控制器接口&#xff0c;支持8/16bit数据位宽&#xff0c;支持128MB访问空间&#xff0c;最高时钟速率133MHz。GPMC是AM62x、AM64x、AM437x、AM335x、AM57x等处理器专用于与外部存储器设备的接口…

IP地理位置定位技术基本原理

IP地理位置定位技术的基本原理是基于IP地址的特性。每个IP地址在网络中都有一个与之对应的地理位置信息&#xff0c;这是通过IP地址数据库来确定的。这个数据库由ISP&#xff08;Internet Service Provider&#xff09;或其它一些机构维护&#xff0c;其中包含了每个IP地址的地…

openGauss学习笔记-179 openGauss 数据库运维-逻辑复制-发布订阅

文章目录 openGauss学习笔记-179 openGauss 数据库运维-逻辑复制-发布订阅179.1 发布179.2 订阅179.3 冲突处理179.4 限制179.5 架构179.6 监控179.7 安全性179.8 配置设置179.9 快速设置 openGauss学习笔记-179 openGauss 数据库运维-逻辑复制-发布订阅 发布和订阅基于逻辑复…

Java核心知识点1-java和c++区别、隐式和显示类型转换

java和c区别 java通过虚拟机实现跨平台特性&#xff0c;但c依赖于特定的平台。java没有指针&#xff0c;它的引用可以理解为安全指针&#xff0c;而c和c一样具有指针。java支持自动垃圾回收&#xff0c;而c需要手动回收。java不支持多重继承&#xff0c;只能通过实现多个接口来…

Java集合/泛型篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、ArrayList和linkedList的区别二、HashMap和HashTable的区别三、Collection包结构,与Collections的区别四、泛型常用特点前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站…

swing快速入门(三十二)消息对话框

注释很详细&#xff0c;直接上代码 上一篇 新增内容 1.自定义对话框前列图标 2.消息对话框的若干种形式 package swing21_30;import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent;public class swing_test_30 {// 定义一个JFrameJFrame jFrame n…

自动驾驶学习笔记(二十三)——车辆控制模型

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo开放平台9.0专项技术公开课》免费报名—>传送门 文章目录 前言 运动学模型 动力学模型 总结…

2023年03月20日_对李开复3月20日线下媒体会的解读

最近这个AI大模型 因为GPT4.0 ChatGPT 文心一言等等这些事情呢 一下子就被推到了风口浪尖 我们也做了来介绍相关的进展 国内呢也不断有一些大佬开始下场 包括王慧文、张朝阳、李彦宏什么的 都开始说自己要搞AI大模型 就在昨天呢 创新工厂的董事长兼CEO李开复 也发朋友…

oracle-存储结构

文件包括 控制文件.ctl、数据文件.dbf、日志文件.log这三类放在存储上。 参数文件&#xff1a;空间的划分&#xff0c;进程的选用&#xff08;.ora&#xff09; oracle启动的时候需要读一下&#xff0c;数据库启动后&#xff0c;参数文件并不关闭&#xff0c;但即使文件丢了&a…

IntelliJ IDEA常用快捷键

【1】创建内容&#xff08;新建&#xff09;&#xff1a;altinsert 【2】main方法&#xff1a;psvm 【3】输出语句&#xff1a;sout 【4】复制行&#xff1a;ctrld 【5】删除行&#xff1a;ctrly&#xff08;很多编辑器ctrly是前进操作&#xff0c;如果选择 Delete Line&…

APP端网络测试与弱网模拟!

当前APP网络环境比较复杂&#xff0c;网络制式有2G、3G、4G网络&#xff0c;还有越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异&#xff0c;都会对用户使用app造成一定影响。另外&#xff0c;当前app使用场景多变&#xff0c;如进地铁、上公交、进电梯等&#xff0c;使…

【Maven】报错合集

问题1&#xff1a;com.github.everit-org.json-schema:org.everit.json.schema:pom:1.12.1 failed to transfer from http://localhost:8081/repository/maven-public/ during a previous attempt 发现原来是maven的settings.xml文件配置出现了问题。首先是之前maven进阶学习时…

如何解决msvcp110.dll丢失问题,多种解决方法分享

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“msvcp110.dll丢失”&#xff0c;msvcp110.dll是Microsoft Visual C 2012 Redistributable的一个组件&#xff0c;它提供了许多用于运行程序的函数和类库。当这个文件丢失或损坏时&#xff…

大一c语言期末复习题

第11题&#xff1a; 答案&#xff1a; #include<stdio.h> #include<string.h> int main() {char a[100];char b[100];int n 0, i 0, j 0;fgets(a, sizeof(a), stdin); //输入一串字符存给asize_t len1 strlen(a); //一开始该字符串的长度if (len1 &g…

【Android12】Android Framework系列---tombstone墓碑生成机制

tombstone墓碑生成机制 Android中程序在运行时会遇到各种各样的问题&#xff0c;相应的就会产生各种异常信号&#xff0c;比如常见的异常信号 Singal 11&#xff1a;Segmentation fault表示无效的地址进行了操作&#xff0c;比如内存越界、空指针调用等。 Android中在进程(主要…