排序中常见的一些指标

news2024/11/20 1:54:26

1、错误率与精度

错误率与精度是分类任务中最常用的两种性能度量,错误率是指分类错误的样本占样本总数的比例,精度则是分类正确的样本数占样本总数的比例。

错误率:

E(f,D)=\frac{1}{m}\sum_{i=1}^{m}I(f(x_{i})\neq y_{i})

精度:

Acc(f,D)=\frac{1}{m}\sum_{i=1}^{m}I(f(x_{i}=y_{i}))=1-E(f,D)

2、准确率/召回率/FScore

True Positive(真正例, TP):将正类预测为正类数.

True Negative(真负例, TN):将负类预测为负类数.

 False Positive(假正例, FP):将负类预测为正类数 → 误报 (Type I error).

 False Negative(假负例, FN):将正类预测为负类数 → 漏报 (Type II error).

查准率:

precision=\frac{TP}{TP+FP}

查全率/召回率:

recall=\frac{TP}{TP+FN}

准确率:

Acc=\frac{TP+TN}{TP+TN+FP+FN}

F-Score:

F=2PR/(P+R)

F是准确率和召回率的结合,更加符合实际应用需求

3、ROC曲线/AUC

当样本不平衡时,ACC难以评估样本的准确性,因而通过AUC进行评估;AUC 通过对 ROC 曲线下各部分的面积求和而得

TPR=\frac{TP}{TP+FN}

FPR=\frac{FP}{TN+FP}

4、Precision@K

precision@k=topk中相关文档数/k

5、AP 和 MAP

AP(Average Precision) = Average Precision@K

MAP (Mean average precision) :不同请求/query AP的平均值

6、MRR(Mean reciprocal rank)

Mean reciprocal rank(MRR) 是另一种对排序列表进行评价的指标,MRR 定义为

MRR=\frac{1}{|Q|}\sum_{I=1}^{|Q|}\frac{1}{rank_{i}}

rank_{i}表示第i个查询第一个相关结果在列表中的位置。

7、DCG@K (Discounted cumulative gain)

Discounted cumulative gain 简写为 DCG,是搜索引擎常用的评价指标。DCG 的出发点可以理解为:在搜索引擎的结果中,相关结果比弱相关和不相关的结果更为重要,因而要更注重对相关结果的排序结果。

DCG@K=\sum_{I=1}^{K}\frac{rel_{i}}{log_{2}(i+1)}

DCG@K的一个变形为

DCG@K=\sum_{I=1}^{K}\frac{ 2^{rel_{i}}-1}{log_{2}(i+1)}

Normalized DCG

NDCG@K=\frac{DCG@K}{IDCG@K}

IDCG@K=\sum_{i=1}^{|REL_{k}|}\frac{2^{rel_{i}-1}}{log_{2}(i+1)}

可以看到 IDCG 是一个理想情况,即按照真实标签排序的情况。 目前在我所在的搜索场景在离线评测时还是会考虑 NDCG 的情况,而具体的 K 值选择则要根据业务场景自行调整。

参考文献

排序学习(LTR)杂谈 (上) - 知乎

1、排序学习(LTR)杂谈 (上) - 知乎

2、Learning to Rank: pointwise 、 pairwise 、 listwise - 知乎

3、排序评估指标——NDCG和MAP_comli_cn的博客-CSDN博客(ndcg详例)

4、排序评价指标 - 知乎

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

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

相关文章

SpringMVC中的常用注解

Java知识点总结:想看的可以从这里进入 目录3.2、常用的注解3.2、常用的注解 Controller:代表此类是一个控制器,需要配置包的扫描。Spring MVC 是通过组件扫描机制查找应用中的控制器类的 在Spring6.0之后要求控制层必须添加该注解才会被识别成…

c++11 标准模板(STL)(std::unordered_map)(二)

定义于头文件 <unordered_map> template< class Key, class T, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator< std::pair<const Key, T> > > class unordered…

计算机网络-- 网络层(day06)

文章目录网络层思维导图IPv4地址的应用规划定长的子网掩码变长的子网掩码VLSMIP数据报的发送和转发过程主机发送IP数据报路由器转发IP数据报静态路由选择动态路由选择路由选择协议概述常见的路由选择协议路由器的基本结构路由信息协议RIP的基本工作原理开放最短路径优先OSPF的基…

nandflash VS norflash

介绍下nandflash NAND Flash是一种非易失性存储器&#xff08;Non-Volatile Memory&#xff0c;简称NVM&#xff09;&#xff0c;以闪存为基础&#xff0c;是目前应用最广泛的存储器之一。 它利用了固态电路技术&#xff0c;可以将数百万个晶体管集成在一张芯片上&#xff0c…

从输入URL到Web页面呈现的全过程

当用户在浏览器的地址栏中输入 URL 并点击回车后&#xff0c;页面是如何呈现的。 简单来说&#xff0c;当用户在浏览器的地址栏中输入 URL 并点击回车后&#xff0c;浏览器从服务端获取资源&#xff0c;然后将内容显示在页面上。这个过程经过了&#xff1a;浏览器缓存 -> D…

利用Nginx给RStudio-Server配置https

前篇文档&#xff0c;我这边写了安装RStudio-Server的方法。默认是http的访问方式&#xff0c;现在我们需要将其改成https的访问方式。 1、给服务器安装Nginx&#xff1a;参照之前的安装Nginx的方法。 2、创建/usr/local/nginx/ssl目录&#xff1a; mkdir /usr/local/nginx/ss…

P6入门:了解P6 Professional 工具栏及地图分享

目录 引言 相关分享 引言 凭借更大的灵活性和增强的自定义功能&#xff0c;最新版本的 Oracle Primavera P6 Professional 的界面比早期版本有了巨大改进。对于有经验的伙伴来说&#xff0c;它仍然是熟悉的领域&#xff0c;几乎所有预期的功能都显示在前面。该界面可以更好地…

【汇编】三、寄存器(一只 Assember 的成长史)

嗨~你好呀&#xff01; 我是一名初二学生&#xff0c;热爱计算机&#xff0c;码龄两年。最近开始学习汇编&#xff0c;希望通过 Blog 的形式记录下自己的学习过程&#xff0c;也和更多人分享。 上篇系列文章链接&#xff1a;【汇编】二、预备知识&#xff08;一只 Assember 的…

Spring Boot结合IDEA自带Maven插件快速切换profile | Spring Cloud 10

一、前言 IDEA是目前 Java 开发者中使用最多的开发工具&#xff0c;它有着简约的设计风格&#xff0c;强大的集成工具&#xff0c;便利的快捷键。 在项目项目整个开发运维周期中&#xff0c;我们的的项目往往需要根据不同的环境&#xff0c;使用不同的文件配置。 比如以下部…

机器学习:Transformer

Transformer sequence-to-sequence(seq2seq) 很大语音没有文本&#xff0c;7000种中超半数没有文字。 遇到的问题&#xff1a; 遇到问题时候可以先不管它&#xff0c;先出一个baseline看看效果&#xff0c;后续再进行提升。 tts&#xff1a; 文本转语音&#xff0c;语音合成…

【图神经网络】李宏毅

GNN 引入 假如要预测一个人是否是凶手。可以通过每个角色的特征训练出一个分类器。 有没有我们忽略的信息&#xff0c;或者我们可以利用但没有完全利用的信息。就是角色的关系。 这些角色关系可以让我们在做分类的时候获得一些额外的信息&#xff0c;可以帮助我们做更好的mode…

C++ 断言

文章目录前言assertstatic_assert前言 断言(Assertion)是一种常用的编程手段&#xff0c;用于排除程序中不应该出现的逻辑错误。它是一种很好的Debug工具。其作用是判断表达式是否为真。C提供了assert和static_assert来进行断言。在C库中也有断言&#xff0c;其中断言与C的相同…

java @Autowired @Resource @Inject 三个注解的区别

javax.annotation.Resourcejdk 内置的&#xff0c;JSR-250 中的注解。依赖注入通过 org.springframework.context.annotation.CommonAnnotationBeanPostProcessor 来处理。org.springframework.beans.factory.annotation.Autowired org.springframework.beans.factory.annotati…

汇编系列01-汇编语言简介

每天进步一点点&#xff0c;不要浮躁&#xff0c;沉下心来。 什么是汇编语言 我们知道CPU是经过精心设计的电路组成的&#xff0c;里面有很多微小的门电路&#xff0c;门电路是通过输入电平控制的&#xff0c;电平分为高低&#xff0c;我们用1表示高电平&#xff0c;0表示低电…

MySQL基础查询操作

文章目录&#x1f68f; Select语句&#x1f680; 一、SQL底层执行原理&#x1f6ac; &#xff08;一&#xff09;、查询的结构&#x1f6ac; &#xff08;二&#xff09;、SQL语句的执行过程&#x1f6ad; 1、WHERE 为什么不包含聚合函数的过滤条件&#xff1f;&#xff08;面试…

Python | Leetcode刷题日寄Part05

欢迎交流学习~~ LeetCode & Python 系列&#xff1a; &#x1f3c6; Python | Leetcode刷题日寄Part01 &#x1f50e; Python | Leetcode刷题日寄Part02 &#x1f49d; Python | Leetcode刷题日寄Part03 ✈️ Python | Leetcode刷题日寄Part04 Python|Leetcode刷题日寄Par…

【企业服务器LNMP环境搭建】nginx安装

1、介绍&#xff08;官方网址&#xff1a;nginx news &#xff09; 1.1 常见用法 1) web服务器软件 httpd http协议 同类的web服务器软件&#xff1a;apache nginx(俄罗斯) IIS(微软 fastcgi) lighttpd(德国) 2)代理服务器 反向代理 3)邮箱代理服务器 IMAP POP3 SMTP 4)负载均…

前端ES6异步编程技术——Promise使用

Promise是什么 官方的定义是&#xff1a;Promise是ES6新推出的用于进行异步编程的解决方案&#xff0c;旧方案是单纯使用回调函数来解决的。对于开发人员来说&#xff0c;我们把promise当作一个普通的对象即可&#xff0c;使用它可以用来封装一个异步操作并可以获取其成功/失败…

Spring Cloud(微服务)学习篇(六)

Spring Cloud(微服务)学习篇(六) 2 Sentinel实现流量规则(控制台版) 2.1 变更pom.xml(shop-user-server项目)代码 2.1.1 加入如下依赖 <!--熔断限流--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-…

稀疏子空间聚类——对超像素聚类

如何使用&#xff1a;超像素分割算法进行过分割——>对所有的超像素样本提取新特征(包括对比度增强直方图特征、超像素样本邻域纹理特征、基于先验知识的位置信息特征)——>采用距离约束优化的稀疏子空间聚类算法(对超像素样本进行聚类) 在超像素分割中构造自适应相似度系…