转:http://www.zhizhihu.com/html/y2011/2794.html

评价标准

性能良好的评分模型,应该能够给予那些引起msg或click的候选会员更高的评分(排序靠前),从而推荐给指定会员。本次竞赛的主要排名标准为Normalized Discounted Cumulative Gain(NDCG),定义如下:

这里。其中n为候选会员集合中的总人数,表示模型给出的排序中,排名为的候选会员的实际ACTION值(msg=2,click=1,rec=0)。对每一位获得推荐建议的会员A,都需要计算一个相应的NDCG@10。所有获得推荐建议的会员对应的NDCG@10的平均值,作为排名的主要依据。

表示计算NDCG时仅采用排序至多前10的候选会员的ACTION进行计算,因此将尽可能多的msg或click排在前面至关重要。指数变换是为了增大ACTION间的差异以凸显msg和click的重要性。折扣因子用来强调越能将msg会员排名靠前的算法越好。例如,两种不同的推荐算法给出的排序对应的真实ACTION如下表所示,由于RANK 1算出的NDCG为0.8045,而RANK 2算出的NDCG仅有0.7579,我们认为RANK 1对应的算法更好。

RANK 1 click msg rec click rec
RANK 2 click click msg rec rec

这里给出一个计算NDCG的例子。假设某统计评分模型对5位会员进行了评分,以确定哪位会员更可能获得会员A的青睐(评分越高表示兴趣越大):

USER_ID_B 1 2 3 4 5
模型评分 1.2 0.7 -2.5 0.2 4.0
按评分排序 2 3 5 4 1
ACTION (y) msg (y2=2) click (y3=1) rec (y5=0) rec (y4=0) rec (y1=0)

因此对于会员A,

如果能够获得的评分足够理想,从而能够完美地预测出会员A关于5位会员的兴趣排序,则此时相应的DCG称为Ideal DCG:

从而对会员A,

在下载数据集中,我们提供了用于计算NDCG的python脚本,以及相关例子,供各参赛队参考和使用。关于python环境的配置等问题,请参赛队自行解决。参赛队也可以根据NDCG的定义,自己编写计算程序用于建模工作。

全国大学生数据挖掘邀请赛中的NDCG的更多相关文章

  1. 2017年全国大学生物联网设计竞赛(TI杯)华东分赛区决赛总结

    全国大学生物联网设计竞赛(TI杯)是由教育部高等学校计算机类教学指导委员会主办.上海交通大学电子信息与电气工程学院承办.德州仪器半导体技术公司(TI)协办的赛事,自2014年设立以来,一直是物联网领域 ...

  2. 【逆向笔记】2017年全国大学生信息安全竞赛 Reverse 填数游戏

    2017年全国大学生信息安全竞赛 Reverse 填数游戏 起因是吾爱破解大手发的解题思路,觉得题挺有意思的,就找来学习学习 这是i春秋的下载链接 http://static2.ichunqiu.co ...

  3. FZU - 2039 Pets (二分图匹配 2011年全国大学生程序设计邀请赛(福州))

    Description Are you interested in pets? There is a very famous pets shop in the center of the ACM ci ...

  4. 第二届360杯全国大学生信息安全技术大赛部分解题思路(WEB安全)

    第一题如下: 用burpsuit设置好代理后,点击发送验证码,可以看到如下: 然后go之后可以看到如下的验证码: 提交验证码后即可获得key 第二题如下: 通过/data/mysql_error_tr ...

  5. BITED数学建模七日谈之一:参加全国大学生数学建模比赛前你需要积累哪些

    大家好,我是数学中国的版主magic2728,非常高兴能够借助数学中国这个平台分享一些自己的经验,帮助大家在国赛的最后备战中能够最后冲刺提高.分享一共分为七个部分,分七天写给大家,下面是第一个部分:参 ...

  6. 2019全国大学生信息安全与对抗技术竞赛全国线下总决赛 Writeup

    0x00 Begin 关于 ISCC 2019 北理工总决赛,这一次比赛体验感总体差不多,最后我们战队荣获全国一等奖第一名,在这里非常感谢我的团队以及我的队友. 0x01 Reverse 下载题目:e ...

  7. 2019全国大学生信息安全竞赛部分Web writeup

    JustSoso 0x01 审查元素发现了提示,伪协议拿源码 /index.php?file=php://filter/read=convert.base64-encode/resource=inde ...

  8. 2019第十二届全国大学生信息安全实践创新赛线上赛Writeup

    本文章来自https://www.cnblogs.com/iAmSoScArEd/p/10780242.html  未经允许不得转载! 1.MISC-签到 下载附件后,看到readme.txt打开后提 ...

  9. 2019全国大学生信息安全竞赛初赛pwn前四题writeup—栈部分

    ret to libc技巧:https://blog.csdn.net/zh_explorer/article/details/80306965 如何leak出libc地址:基地址+函数在libc中的 ...

随机推荐

  1. 8、在Shell脚本中使用函数

    学习目标Shell的函数 Shell程序也支持函数.函数能完成一特定的功能,可以重复调用这个函数.函数格式如下: 函数名() {     函数体 }   函数调用方式: 函数名 参数列表   实例:编 ...

  2. JavaScript中类型检测

    文章首发: http://www.cnblogs.com/sprying/p/4349426.html 本文罗列了一般Js类型检测的方法,是构建Js知识体系的一小块,这篇文章是我很早之前总结的. 一. ...

  3. zato server启动后自动关闭问题解决

    症状 zato start server 启动server后,过一会server自动关闭了 解决 查看日志 UnicodeDecodeError: 'ascii' codec can't decode ...

  4. 软工网络15Alpha阶段敏捷冲刺博客汇总

    博客链接汇总: 第一篇:http://www.cnblogs.com/pubg722/p/8891605.html 第二篇:http://www.cnblogs.com/pubg722/p/89090 ...

  5. Codeforces 809D. Hitchhiking in the Baltic States

    Description 给出 \(n\) 个数 \(a_i\),每一个数有一个取值 \([l_i,r_i]\) ,你来确定每一个数,使得 \(LIS\) 最大 题面 Solution 按照平时做法,设 ...

  6. java 配置在.properties文件中的常量

    不让用常量类,那就用.properties文件配置,放在根目录. import java.util.HashMap; import java.util.Iterator; import java.ut ...

  7. C#发送GET与POST请求

    ////////HTTPGET   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = ...

  8. 樹莓派3B運行.Net Core2.1 Web 項目

    安裝.Net Core 運行時和SDK(非必選) 下載地址 安裝 # 安裝運行時 sudo apt-get -y update # Install the packages necessary for ...

  9. redis(4)事务

    一.事务 一般来说,事务必须满足4个条件,也就是我们常说的ACID: 1)Atomicity 原子性:一个事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间的某个环节.事务在执行过程中发生错 ...

  10. springMVC介绍及配置

    Spring MVC的Controller用于处理用户的请求.Controller相当于Struts 1里的Action,他们的实现机制.运行原理都类似. Controller是个接口,一般直接继承A ...