评测指标(metrics)

2023-11-11

评测指标(metrics)

metric主要用来评测机器学习模型的好坏程度,不同的任务应该选择不同的评价指标, 分类,回归和排序问题应该选择不同的评价函数. 不同的问题应该不同对待,即使都是 分类问题也不应该唯评价函数论,不同问题不同分析.

回归(Regression)

  1. 均方误差(MSE)

(1) l ( y , y ^ ) = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 l(y, \hat{y})=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2 \tag{1} l(y,y^)=n1i=1n(yiy^i)2(1)

  1. 均方根误差(RMSE)

(2) l ( y , y ^ ) = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 l(y, \hat{y})=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2} \tag{2} l(y,y^)=n1i=1n(yiy^i)2 (2)

  1. 平均绝对误差(MAE)

(3) l ( y , y ^ ) = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ l(y, \hat{y})=\frac{1}{n}\sum_{i=1}^{n}|y_i-\hat{y}_i| \tag{3} l(y,y^)=n1i=1nyiy^i(3)

  1. R Squared

(4) R 2 = 1 − ( ∑ i = 1 n ( y i − y ^ i ) 2 ) / n ( ∑ i = 1 n ( y i − y ˉ i ) 2 ) / n R^2=1-\frac{(\sum_{i=1}^{n}(y_i-\hat{y}i)^2)/n}{(\sum{i=1}^{n}(y_i-\bar{y}_i)^2)/n} \tag{4} R2=1(i=1n(yiyˉi)2)/n(i=1n(yiy^i)2)/n(4)
其中: y ^ \hat{y} y^是预测值, y y y是真实值, n n n是样本个数, y ˉ \bar{y} yˉ y y y的平均值.

分类(Classification)

  1. 准确率和错误率

(5) a c c ( y , y ^ ) = 1 n ∑ i = 1 n y i = y i ^ acc(y,\hat{y})=\frac{1}{n}\sum_{i=1}^{n}y_i=\hat{y_i} \tag{5} acc(y,y^)=n1i=1nyi=yi^(5)
(6) e r r o r ( y , y ^ ) = 1 − a c c ( y , y ^ ) error(y, \hat{y})=1-acc(y,\hat{y}) \tag{6} error(y,y^)=1acc(y,y^)(6)

  1. 混淆矩阵,精准率和召回率

对于二分类问题,可将样例根据其真是类别与学习器预测类别的组合划分为真正例(true positive, TP),假正例(false positive, FP),真反例(ture negative, TN),假反例(false negative, FN), 则有:TP+FP+TN+FN=样例总数. 分类结果的混淆矩阵(confusion matrix)如下:
在这里插入图片描述
则有精准率P和召回率R定义如下: (7) P = T P T P + F P P=\frac{TP}{TP+FP} \tag{7} P=TP+FPTP(7)
(8) R = T P T P + F N R=\frac{TP}{TP+FN} \tag{8} R=TP+FNTP(8)
则F1值定义如下: (9) 1 F 1 = 1 2 ⋅ ( 1 P + 1 R ) \frac{1}{F_1}=\frac{1}{2} \cdot (\frac{1}{P}+\frac{1}{R}) \tag{9} F11=21(P1+R1)(9)
(10) F 1 = 2 P R P + R F_1=\frac{2PR}{P+R} \tag{10} F1=P+R2PR(10)

  1. ROC和AUC

ROC全称是"受试者工作特征"(Receiver Operating Characteristic)曲线. 根据学习器的预测结果堆样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要的值,分别以他们作为横纵坐标作图,就得到"ROC曲线". 其中ROC曲线的横轴是"假正例率"(False Positive Rate, FPR), 纵轴是"真正例率"(True Positive Rate, TPR), 注意这里不是上文提高的P和R. 其中:
(11) T P R = T P T P + F N TPR=\frac{TP}{TP+FN} \tag{11} TPR=TP+FNTP(11) (12) F P R = F P T N + F P FPR=\frac{FP}{TN+FP} \tag{12} FPR=TN+FPFP(12)

现实使用中,一般使用有限个测试样例绘制ROC曲线,此时需要有有限个(真正例率,假正例率)坐标对. 绘图过程如下:

  1. 给定 m + m^+ m+个正例和 m − m^- m个反例,根据学习器预测结果对样例进行排序,然后将分类阈值设为最大,此时真正例率和假正例率都为0,坐标在(0,0)处,标记一个点.
  2. 将分类阈值依次设为每个样本的预测值,即依次将每个样本划分为正例.
  3. 假设前一个坐标点是(x,y),若当前为真正例,则对应坐标为 ( x , y + 1 m + ) (x,y+\frac{1}{m^+}) (x,y+m+1), 若是假正例,则对应坐标为 ( x + 1 m − , y ) (x+\frac{1}{m^-}, y) (x+m1,y)
    线段连接相邻的点.

理想的图和现实的图对比如下图(其中对角线对应于"随机猜测"模型):
在这里插入图片描述
为了进行比较,较为合理的判别依据是ROC曲线下面的面积,即AUC(Area Under ROC Curve). 从上图看出,AUC可估算为:
(13) A U C = 1 2 ∑ i = 1 m − 1 ( x i + 1 − x i ) ⋅ ( y i + y i + 1 ) AUC=\frac{1}{2}\sum_{i=1}^{m-1}(x_{i+1}-x_i)\cdot(y_i+y_{i+1}) \tag{13} AUC=21i=1m1(xi+1xi)(yi+yi+1)(13)
AUC考虑是样本排序的质量,因此它和排序误差有紧密联系.给定 m + m^+ m+个正例和 m − m^- m个负例,另 D + D^+ D+ D − D^- D分别表示正和反例的集合,则排序损失定义为: (14) l r a n k = 1 m + m − ∑ x + ∈ D + ∑ x − ∈ D − ( I ( f ( x + ) &lt; f ( x − ) ) + 1 2 I ( f ( x + ) = f ( x − ) ) ) l_{rank}=\frac{1}{m^+m^-}\sum_{x^+ \in D^+}\sum_{x^- \in D^-}(I(f(x^+)&lt;f(x^-))+\frac{1}{2}I(f(x^+)=f(x^-))) \tag{14} lrank=m+m1x+D+xD(I(f(x+)<f(x))+21I(f(x+)=f(x)))(14)
即考虑每一对正反例,若正例的预测值小于反例,则记一个"罚分", 若相等,则记0.5个"罚分". 其实 l r a n k l_{rank} lrank对应的是ROC曲线之上的面积,则有:
(15) A U C = 1 − l r a n k AUC=1-l_{rank} \tag{15} AUC=1lrank(15)

  1. CTR和CVR
  1. CTR
    CTR(Click-Through-Rate)即点击通过率,是互联网广告常用的术语,指网络广告(图片广告/文字广告/关键词广告/排名广告/视频广告等)的点击到达率,即该广告的实际点击次数(严格的来说,可以是到达目标页面的数量)除以广告的展现量(Show content). (16) c t r = 点 击 次 数 展 示 量   ctr=\frac{点击次数}{展示量} \tag{16} ctr= (16)
  2. CVR
    CVR (Conversion Rate): 转化率。是一个衡量CPA广告效果的指标,简言之就是用户点击广告到成为一个有效激活或者注册甚至付费用户的转化率. (17) c v r = 点 击 量 转 化 量   cvr=\frac{点击量}{转化量} \tag{17} cvr= (17)

参考

  1. 周志华 西瓜书
  2. 李航 统计学习方法
  3. https://baike.baidu.com/item/CVR/20215345
  4. https://baike.baidu.com/item/CTR/10653699?fr=aladdin
  5. https://www.cnblogs.com/shenxiaolin/p/9309749.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

评测指标(metrics) 的相关文章

  • 数字IC后端设计技术全局观

    数字IC后端设计flow 不含DFT 数字IC后端设计工具 DC 用于逻辑综合 FM 用于形式验证 ICC 用于物理实现 PrimeTime 用于STA 步骤 或文件类型 简述 RTL Register Transfer Level v文件
  • mysql8.0收费价格,MySQl 8.0遇到的坑

    报错 Illuminate Database QueryException SQLSTATE HY000 1045 Access denied for user root localhost using password NO SQL cr
  • Trying to access array offset on value of type int

    问题描述 出现报错信息 先百度翻译 试图访问int类型值的数组偏移量 通过翻译得知 int型的数据被其他不能使用的类型使用了 个人理解 关于这块 php7 4升级之后会有这个bug 网上大多人是说 7 4 版本的向后不兼容更改 非数组的数组
  • valgrind Massif

    valgrind检查内存泄露 valgrind 程序 内存泄漏问题 我们有memcheck工具来检查 很爽 但是有时候memcheck工具查了没泄漏 程序一跑 内存还是狂飙 这又是什么问题 其实memcheck检查的内存泄漏只是狭义的内存泄
  • Docker——安装和启动

    一 环境准备 1 安装Linux虚拟机软件 VMware或VirtualBox 比VMware更小巧轻便且免费 此处安装VirtulaBox 2 安装Linux虚拟系统 在管理中选择导入虚拟电脑 记得选中重新初始化所有网卡的MAC地址 双击
  • Dynamics CRM 365 如何设置经典登录页面

    Don t be surprised If you don t see classic interface post your sign up for dynamics 365 Okay let s face it We are losin
  • 复选框check的选中、不选中设置以及判断是否选中

    复选框的设置 一 JavaScript判断是否选中checkbox框 二 JavaScript设置选中checkbox框 三 JavaScript移除选中checkbox框 四 使用jQuery判断是否选中checkbox框 五 使用jQu
  • 国密(1) - 私钥Key文件( PEM格式)编解码方法

    详细的PEM文件格式解析 PEM文件 是按照私钥的ASN 1的格式 RFC5208 5915 5480 进行DER编码后输出二进制串的基础上 再进行Base64的编码 也就是每6个bit为一组 生成一个ascii码字符 需要4组6个bit
  • 学习笔记59—收藏这7个在线配色神器,再也不愁配色灵感了

    在设计中配色方案是必要的 也是让设计师头疼的一个问题 所以 编辑专为大家整理了一波配色神器网站 不用下载任何应用程序 打开即用 不仅能快速的做出符合设计概念的颜色组合 且有很多样品供你确认的工具 设计新手们千万别错过了 一 Khroma h
  • 【macOS】Win通过VNC远程控制Macbook

    Win通过VNC远程控制Macbook 参考 https zhuanlan zhihu com p 74162964 仅局域网内可用 Macbook配置 进入 电脑设置 勾选两个选项 Windows配置 安装VNC Viewer https
  • openpyxl操作表格的基本用法

    创建文件 以及创建xlsx表格 from openpyxl import Workbook load workbook import os 创建excel文件 默认会有一个sheet命名的表 def create xlsx path nam
  • Beginng_Rust(译):借用和生命周期(第二十二章)

    在本章中 您将学习 借用 和 生命周期 的概念 哪些是关于借用的典型编程错误 即困扰系统软件 Rust严格语法如何使用借用检查器来防止此类典型错误 插入块的方式如何限制借用范围 为什么函数返回引用需要生命周期指示符 如何使用寿命指定符来表示
  • 应用层的原理

    目录 应用层协议原理 网络应用程序体系结构 客户 服务器 P2P 混合模式 UDP TCP 所有能产生网络流量的程序 应用层协议原理 网络应用程序体系结构 客户 服务器 P2P 混合模式 UDP TCP 可供应用程序使用的运输服务 因特网提

随机推荐

  • 解决liquibase.exception.LockException: Could not acquire change log lock. Currently locked by XXXX

    项目启动后报liquibase exception LockException Could not acquire change log lock 解决方案 执行下面语句 use job job为你的数据库 select from DATA
  • HTML5 history新特性pushState、replaceState

    DOM中的window对象通过window history方法提供了对浏览器历史记录的读取 让你可以在用户的访问记录中前进和后退 从HTML5开始 我们可以开始操作这个历史记录堆栈 1 History 使用back forward 和go
  • windows dll 装载过程

    windows dll 装载过程 2010 12 04 19 13 56 分类 Windows系统平台上 你可以将独立的程序模块创建为较小的DLL Dynamic Linkable Library 文件 并可对它们单独编译和测试 在运行时
  • MySQL--事务+存储引擎+表类型+视图+用户管理

    目录 1 事务 1 1 概念 1 2 回退事务 1 3提交事务 1 4事务细节注意点 1 5事务的隔离级别 1 5 1 介绍 1 5 2 解决这些安全性问题 1 5 3演示脏读 1 5 4避免脏读 演示不可重复发生 1 5 5 演示不可重复
  • Hexo 博客利用 Nginx 实现中英文切换

    本文记录了对 Hexo 博客进行中英文切换的配置过程 实现同一应用共用模版 任何页面可以切换到另一语言的对应页面 并对未明确语言的访问地址 根据浏览器语言进行自动跳转 实现细则 中英文地址区分 博客中文首页 https chanvinxia
  • Filter内存马浅析

    1 何谓内存马 以Tomcat为例 内存马主要利用了Tomcat的部分组件会在内存中长期驻留的特性 只要将我们的恶意组件注入其中 就可以一直生效 直到容器重启 Java内存shell有很多种 大致分为 1 动态注册filter 2 动态注册
  • 为何pytorch nn.KLDivLoss()损失计算为负数?

    参考文献 https www zhihu com question 384982085 先来看一下KL散度的定义 这里是要用分布Q为标签 原始分布 分布P作为预测值 预测分布 在pytorch中 nn KLDivLoss 的计算公式如下 上
  • 《基于RCF边缘检测和双目视觉的箱体体积测量算法》论文阅读笔记

    原论文查看地址 https csnjiokh71 feishu cn file boxcnyF7HGMFDiWayf0vSTcYTec 1 双目畸变的原理分析 实际情况下 相机的主点 c x c y 并不位于图像中心 两者存在一定的偏差 而
  • 鹅厂内部干货

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 作者介绍 陈阳 Younger 2011年加入腾讯 现就职于腾讯游戏增值服务部 负责AMS游戏营销平台 致力于研究和推动Web及大前端相关技术的发展 一 微信小游戏 H5小游戏及微信
  • “1448万,一条命”:在生命面前,金钱显得太刺眼

    1 前段时间 美国上市了一种治疗小儿脊髓性肌肉萎缩的药 引起了非常激烈的讨论 为什么会有这么大的争议呢 因为这种药特别贵 标价210万美元 人民币约1448万元 仅仅一支药 就相当于北京三环一套房 小儿脊髓性肌肉萎缩这个病到底有多恐怖呢 得
  • 利用bat,vb实现根据日期自动备份文件

    假如D backup a为备份源文件夹 备份路径为D backup 文件夹名为当天的日期 如D backup 2006 04 17 a 每周5备份一次 3周一个循环 即备份第4周时 第1周的备份删除 以减少空间 同时在D backup lo
  • 基于单片机的电子万年历设计与制作系统(设计报告+开题中期报告+仿真文件+程序)

    摘要 本文设计实现了一种基于单片机的电子万年历设计与制作系统 该系统通过单片机的控制 实现了日期 时间和节假日等信息的显示 同时提供了闹钟 定时器和温度显示等功能 实验结果表明 该系统具有较好的稳定性和实用性 能够满足人们对万年历功能的需求
  • kotlin语法总结(一)

    下一章地址 kotlin语法总结 二 文章目录 前言 前言 接下来几章将总结一下kotlin的语法 总结kotlin和java不一样的地方 1 var可修改 val只读 类型推断 const val a 1 编译时常量 2 kotlin只提
  • 假设检验之参数

    假设检验 p值的判断使用 很强很有用
  • Pytorch调用GPU的方法

    Pytorch调用GPU有两种方法 一种是torch cuda 一种是torch to torch cuda 通常会在配置文件中写入调用的GPU 默认不填参数为0 gpu 0 1 2 默认调用调用0号GPU network network
  • UVM 寄存器内建测试序列(built-in sequences)

    原文链接 https blog csdn net qq 42419590 article details 121487295 UVM 寄存器内建测试序列 built in sequences 不少有经验的UVM用户可能会忽略UVM针对寄存器
  • 电子设计大赛作品_竞赛来袭

    2020电子设计大赛 一年一度的电子设计大赛要来啦 想不想与同学好友一起打电赛 结识众多大佬 掌握各种专业知识 做出属于自己的作品 手捧奖状 让自己的大学简历更有含金量呢 那就和小电一起来看看吧 一 竞赛简介 全国大学生电子设计竞赛 以下简
  • HTMLTestRunner 加强版 HwTestReport 加入样式美化、中英文版本、Selenium和Appium截图、饼图等内容

    本项目源码已经进入Github的北极代码仓库 Arctic Code Vault 据说这些Bug Code 要冰封1000年 作为 HwTTK Test Tool Kit 中的一员 HwTestReport具有以下特性 支持Python2和
  • pycharm+python3.8安装opencv+contrib

    A opencv python与opencv contrib python的区别 1 opencv python包含opencv的主模块 下载地址 https pypi org project opencv python files 2 o
  • 评测指标(metrics)

    评测指标 metrics metric主要用来评测机器学习模型的好坏程度 不同的任务应该选择不同的评价指标 分类 回归和排序问题应该选择不同的评价函数 不同的问题应该不同对待 即使都是 分类问题也不应该唯评价函数论 不同问题不同分析 回归