20240327-1-评测指标面试题

在这里插入图片描述

评测指标面试题

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

回归(Regression)

平均绝对误差(MAE)

平均绝对误差MAE(Mean Absolute Error)又被称为 L1范数损失。
M A E = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ (1) MAE=\frac{1}{n}\sum_{i=1}^{n}|y_i-\hat{y}_i| \tag{1} MAE=n1i=1nyiy^i(1)
MAE虽能较好衡量回归模型的好坏,但是绝对值的存在导致函数不光滑,在某些点上不能求导,可以考虑将绝对值改为残差的平方,这就是均方误差。

均方误差(MSE)

均方误差MSE(Mean Squared Error)又被称为 L2范数损失 。
M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 (2) MSE=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2 \tag{2} MSE=n1i=1n(yiy^i)2(2)
由于MSE与我们的目标变量的量纲不一致,为了保证量纲一致性,我们需要对MSE进行开方 。

均方根误差(RMSE)

R M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 (3) RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2} \tag{3} RMSE=n1i=1n(yiy^i)2 (3)

R2_score

R 2 s c o r e = 1 − ∑ i n ( y i − y ^ ) 2 / n ∑ i n ( y i − y ˉ ) 2 / n = 1 − M S E Var ⁡ (4) R2_score =1-\frac{\sum^n_{i}\left(y_{i}-\hat{y}\right)^{2} / n}{\sum^n_{i}\left(y_{i}-\bar{y}\right)^{2} / n}=1-\frac{M S E}{\operatorname{Var}} \tag{4} R2score=1in(yiyˉ)2/nin(yiy^)2/n=1VarMSE(4)

R 2 s c o r e R2{_score} R2score又称决定系数,表示反应因变量的全部变异能通过数学模型被自变量解释的比例, R 2 _ s c o r e R2\_{score} R2_score越大,模型准确率越好。

y y y表示实际值, y ^ \hat{y} y^表示预测值, y ˉ \bar{y} yˉ表示实际值的均值, n n n表示样本数, i i i表示第 i i i个样本。 V a r Var Var表示实际值的方差,也就是值的变异情况。

M S E MSE MSE表示均方误差,为残差平方和的均值,该部分不能能被数学模型解释的部分,属于不可解释性变异。

因此:
可解释性变异占比 = 1 − 不可解释性变异 整体变异 = 1 − M S E Var ⁡ = R 2 _ s c o r e (5) 可解释性变异占比 = 1-\frac{不可解释性变异}{整体变异}= 1-\frac{M S E}{\operatorname{Var}} = R2\_score \tag{5} 可解释性变异占比=1整体变异不可解释性变异=1VarMSE=R2_score(5)

分类(Classification)

准确率和错误率

A c c ( y , y ^ ) = 1 n ∑ i = 1 n y i = y i ^ (6) Acc(y,\hat{y})=\frac{1}{n}\sum_{i=1}^{n}y_i=\hat{y_i} \tag{6} Acc(y,y^)=n1i=1nyi=yi^(6)

E r r o r ( y , y ^ ) = 1 − a c c ( y , y ^ ) (7) Error(y, \hat{y})=1-acc(y,\hat{y}) \tag{7} Error(y,y^)=1acc(y,y^)(7)
Acc与Error平等对待每个类别,即每一个样本判对 (0) 和判错 (1) 的代价都是一样的。使用Acc与Error作为衡量指标时,需要考虑样本不均衡问题以及实际业务中好样本与坏样本的重要程度。

混淆矩阵

对于二分类问题,可将样例根据其真是类别与学习器预测类别的组合划分为:

真正例(true positive, TP):预测为 1,预测正确,即实际 1
假正例(false positive, FP):预测为 1,预测错误,即实际 0
真反例(ture negative, TN):预测为 0,预测正确,即实际 0
假反例(false negative, FN):预测为 0,预测错误,即实际 1

精确率(查准率) Precision

Precision 是分类器预测的正样本中预测正确的比例,取值范围为[0,1],取值越大,模型预测能力越好。
P = T P T P + F P (8) P=\frac{TP}{TP+FP} \tag{8} P=TP+FPTP(8)

召回率(查全率)Recall

Recall 是分类器所预测正确的正样本占所有正样本的比例,取值范围为[0,1],取值越大,模型预测能力越好。
R = T P T P + F N (9) R=\frac{TP}{TP+FN} \tag{9} R=TP+FNTP(9)

F1 Score

Precision和Recall 是互相影响的,理想情况下肯定是做到两者都高,但是一般情况下Precision高、Recall 就低, Recall 高、Precision就低。为了均衡两个指标,我们可以采用Precision和Recall的加权调和平均(weighted harmonic mean)来衡量,即F1 Score
1 F 1 = 1 2 ⋅ ( 1 P + 1 R ) (10) \frac{1}{F_1}=\frac{1}{2} \cdot (\frac{1}{P}+\frac{1}{R}) \tag{10} F11=21(P1+R1)(10)

F 1 = 2 ∗ P ∗ R P + R (11) F_1=\frac{2*P*R}{P+R} \tag{11} F1=P+R2PR(11)

ROC

ROC全称是"受试者工作特征"(Receiver Operating Characteristic)曲线. ROC曲线为 FPR 与 TPR 之间的关系曲线,这个组合以 FPR 对 TPR,即是以代价 (costs) 对收益 (benefits),显然收益越高,代价越低,模型的性能就越好。 其中ROC曲线的横轴是"假正例率"(False Positive Rate, FPR), 纵轴是"真正例率"(True Positive Rate, TPR), 注意这里不是上文提高的P和R.

  • y 轴为真阳性率(TPR):在所有的正样本中,分类器预测正确的比例(等于Recall)

T P R = T P T P + F N (12) TPR=\frac{TP}{TP+FN} \tag{12} TPR=TP+FNTP(12)

  • x 轴为假阳性率(FPR):在所有的负样本中,分类器预测错误的比例

F P R = F P T N + F P (13) FPR=\frac{FP}{TN+FP} \tag{13} FPR=TN+FPFP(13)

现实使用中,一般使用有限个测试样例绘制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)
  4. 线段连接相邻的点.

AUC

对于二分类问题,预测模型会对每一个样本预测一个得分s或者一个概率p。 然后,可以选取一个阈值t,让得分s>t的样本预测为正,而得分s<t的样本预测为负。 这样一来,根据预测的结果和实际的标签可以把样本分为4类,则有混淆矩阵:

实际为正实际为负
预测为正TPFP
预测为负FNTN

随着阈值t选取的不同,这四类样本的比例各不相同。定义真正例率TPR和假正例率FPR为:
T P R = T P T P + F N F P R = F P F P + T N (14) \begin{array}{l} \mathrm{TPR}=\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FN}} \\ \mathrm{FPR}=\frac{\mathrm{FP}}{\mathrm{FP}+\mathrm{TN}} \end{array} \tag{14} TPR=TP+FNTPFPR=FP+TNFP(14)
随着阈值t的变化,TPR和FPR在坐标图上形成一条曲线,这条曲线就是ROC曲线。 显然,如果模型是随机的,模型得分对正负样本没有区分性,那么得分大于t的样本中,正负样本比例和总体的正负样本比例应该基本一致。

实际的模型的ROC曲线则是一条上凸的曲线,介于随机和理想的ROC曲线之间。而ROC曲线下的面积,即为AUC!

这里的x和y分别对应TPR和FPR,也是ROC曲线的横纵坐标。
A U C = ∫ t = ∞ − ∞ y ( t ) d x ( t ) (15) \mathrm{AUC}=\int_{t=\infty}^{-\infty} y(t) d x(t) \tag{15} AUC=t=y(t)dx(t)(15)

参考:https://tracholar.github.io/machine-learning/2018/01/26/auc.html

KS Kolmogorov-Smirnov

KS值是在模型中用于区分预测正负样本分隔程度的评价指标,一般应用于金融风控领域。与ROC曲线相似,ROC是以FPR作为横坐标,TPR作为纵坐标,通过改变不同阈值,从而得到ROC曲线。ks曲线为TPR-FPR,ks曲线的最大值通常为ks值。可以理解TPR是收益,FPR是代价,ks值是收益最大。图中绿色线是TPR、蓝色线是FPR。

KS的计算步骤如下:

  1. 按照模型的结果对每个样本进行打分
  2. 所有样本按照评分排序,从小到大分为10组(或20组)
  3. 计算每个评分区间的好坏样本数。
  4. 计算每个评分区间的累计好样本数占总好账户数比率(good%)和累计坏样本数占总坏样本数比率(bad%)。
  5. 计算每个评分区间累计坏样本占比与累计好样本占比差的绝对值(累计bad%-累计good%),然后对这些绝对值取最大值即得此评分模型的K-S值。

CTR(Click-Through-Rate)

CTR即点击通过率,是互联网广告常用的术语,指网络广告(图片广告/文字广告/关键词广告/排名广告/视频广告等)的点击到达率,即该广告的实际点击次数(严格的来说,可以是到达目标页面的数量)除以广告的展现量(Show content).
c t r = 点击次数 展示量 (16) ctr=\frac{点击次数}{展示量} \tag{16} ctr=展示量点击次数 (16)

CVR (Conversion Rate)

CVR即转化率。是一个衡量CPA广告效果的指标,简言之就是用户点击广告到成为一个有效激活或者注册甚至付费用户的转化率.
c v r = 点击量 转化量 (17) cvr=\frac{点击量}{转化量} \tag{17} cvr=转化量点击量 (17)

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

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

相关文章

CMake 学习笔记2

其他很好的总结 CMake教程系列-01-最小配置示例 - 知乎 CMake 保姆级教程&#xff08;上&#xff09; | 爱编程的大丙 10-补充(完结)_哔哩哔哩_bilibili 1、基本关键字 SET命令的补充 &#xff08;1&#xff09;SET命令设置执行标准 #增加-stdc11 set(CMAKE_CXX_STANDARD…

Terminal 美化

摘自&#xff1a;Mac 系统终端美化与 ZSH 多设备配置同步共享 个人对 iTerm2 等第三方终端工具不太感冒&#xff0c;一直在用系统内置终端。 相比之下&#xff0c;系统自带的 Terminal 可谓是简陋啊。 安装了 Oh My Zsh&#xff0c;加上一些插件&#xff0c;感觉还行。 再调…

如何防止软件过度封装和抽象?

一、合适的软件架构 构建可读性强、高内聚、低耦合的软件架构是软件工程中的重要原则&#xff0c;这有助于提高代码的维护性、扩展性和复用性。以下是一些实践方法&#xff1a; 1. **模块化设计**&#xff1a;将系统划分为一系列职责单一、功能明确的模块或组件&#xff0c;每…

ELK企业级日志分析系统以及多种部署

目录 ELK简介 ELK简介 ELK平台是一套完整的日志集中处理解决方案&#xff0c;将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用&#xff0c; 完成更强大的用户对日志的查询、排序、统计需求。 ●ElasticSearch&#xff1a;是基于Lucene&#xff08;一个全文检索引…

windows应急中的快捷键

windows应急中的快捷键 应急的时候&#xff0c;快捷键很重要&#xff0c;记录一下windows主机排查需要用到的快捷键 windows快捷键 appwiz.cpl 是打开安装面板 程序和功能 控制面板程序和功能 搜索程序和功能 控制而板主页 卸载或更改程序 若要卸酸程序,请从列表中将其…

Python工程师面试高频题:return 和 yield之间到底有啥区别?

在编程语言 Python 中&#xff0c;yield 和 return 是两个在函数中用于返回值的关键字&#xff0c;但它们在功能和使用场景上有着本质的区别。理解这两者的区别&#xff0c;对于编写更高效、更灵活的 Python 代码至关重要。 看图说话 首先我们来看下面这张图片&#xff0c;该…

跨平台桌面应用 Electron 入门学习

本文章主要为该视频的学习笔记&#xff0c;如果侵权会速删。 Electron 01 课程介绍_哔哩哔哩_bilibiliElectron 01 课程介绍, 视频播放量 3046、弹幕量 0、点赞数 75、投硬币枚数 43、收藏人数 179、转发人数 2, 视频作者 极客丶张德龙, 作者简介 当你的能力还不足以撑起自己的…

使用UDP实现TCP的功能,会带来什么好处?

比较孤陋寡闻&#xff0c;只知道QUIC TCPQUIC握手延迟TCP需要三次握手TLS握手三次握手TLS握手放在一起&#xff0c;实现0RTT头阻塞问题TCP丢失保文&#xff0c;会影响所有的应用数据包基于UDP封装传输层Stream&#xff0c;Stream内部保序&#xff0c;Stream之间不存在相互影响…

Coursera吴恩达《深度学习》课程总结(全)

这里有Coursera吴恩达《深度学习》课程的完整学习笔记&#xff0c;一共5门课&#xff1a;《神经网络和深度学习》、《改善深层神经网络》、《结构化机器学习项目》、《卷积神经网络》和《序列模型》&#xff0c; 第一门课&#xff1a;神经网络和深度学习基础&#xff0c;介绍一…

每日一题(leetcode238):除自身以外数组的乘积--前缀和

不进阶是创建两个数组&#xff1a; class Solution { public:vector<int> productExceptSelf(vector<int>& nums) {int nnums.size();vector<int> left(n);vector<int> right(n);int mul1;for(int i0;i<n;i){mul*nums[i];left[i]mul;}mul1;for…

攻防世界12-baby_web

12-baby_web 题目说想想初始页面是哪个&#xff0c;一般都是index.php&#xff0c;然后如题分析即可。 我们在链接后面拼接上/index.php&#xff0c;返回后发现界面又回到了1.php&#xff0c;有可能是重定向。 我们点击检查-网络&#xff0c;发现没有index的请求&#xff0c;…

编曲知识18:EQ均衡器 齿音处理 呼吸音处理 口水音处理

EQ均衡器 齿音处理 呼吸音处理 口水音处理小鹅通-专注内容付费的技术服务商https://app8epdhy0u9502.pc.xiaoe-tech.com/live_pc/l_66151c90e4b092c1187ac699?course_id=course_2XLKtQnQx9GrQHac7OPmHD9tqbv 均衡器 均衡器 Equalizer(简称EQ) 人耳接受频率:20hz—20khz …

系统架构最佳实践 -- API网关架构设计

目录 1.什么是API网关&#xff1f; 2.API网关的核心功能 3.架构设计原则 4.API网关的实现方式 5.常见的API网关工具和框架 6.实际案例分析 API网关是现代微服务架构中的重要组件&#xff0c;它充当了前端和后端微服务之间的中介。本文将介绍API网关的架构设计原则和实现方…

Leetcode 剑指 Offer II 073.爱吃香蕉的狒狒

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 狒狒喜欢吃香蕉。这里有 N 堆香蕉&#xff0c;第 i 堆中有 piles…

华为海思数字芯片设计笔试第二套

1.声明 下面的题目作答都是自己认为正确的答案&#xff0c;并非官方答案&#xff0c;如果有不同的意见&#xff0c;可以评论区交流。 这些题目也是笔者从各个地方收集的&#xff0c;感觉有些题目答案并不正确&#xff0c;所以在个别题目会给出自己的见解&#xff0c;欢迎大家讨…

【静态分析】静态分析笔记04 - 数据流分析(理论)

参考&#xff1a; 【课程笔记】南大软件分析课程4——数据流分析基础&#xff08;课时5/6&#xff09; - 简书 --------------------------------------------------------------------------- 1. 迭代算法 本质&#xff1a;常见的数据流迭代算法&#xff0c;目的是通过迭代…

实时智能应答3D数字人搭建2

先看效果&#xff1a; 3d数字人讲黑洞 根据艾媒咨询数据&#xff0c;2021年&#xff0c;中国虚拟人核心产业规模达到62.2亿元&#xff0c;带动市场规模达到1074.9亿元&#xff1b;2025年&#xff0c;这一数据预计将达到480.6亿元与6402.7亿元&#xff0c;同比增长迅猛。数字人可…

C++(3) —— 核心编程

一、内存区分模型 1.1 程序运行前 #include<iostream> using namespace std;// 全局变量 int g_a 10; int g_b 20;// const修饰的全局变量&#xff0c;全局常量 const int c_g_a 10; const int c_g_b 20;int main() {// 全局区// 全局变量、静态变量、常量// 创建普通…

一个巧用委托解决的问题(C#)

个人觉得是委托应用的一个很好的例子&#xff0c;故做一下分享&#xff0c;希望能帮助到您&#xff0c;内容比较简单&#xff0c;大佬可以跳过。我是做桌面医疗软件开发的&#xff0c;前段时间在做一个需求。在签发检验项目医嘱时&#xff0c;调用第三方接口&#xff0c;然后带…

GPT演变:从GPT到ChatGPT

Transformer 论文 Attention Is All You Need The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder… https://arxiv.o…