zoukankan      html  css  js  c++  java
  • 全国大学生数据挖掘邀请赛中的NDCG

    转: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的定义,自己编写计算程序用于建模工作。

  • 相关阅读:
    Hamming Distance(随机算法)
    Difference Between Primes
    Pet(dfs)
    29. Divide Two Integers
    28. Implement strStr()
    25. Reverse Nodes in k-Group
    24. Swap Nodes in Pairs
    23. Merge k Sorted Lists
    22. Generate Parentheses
    19. Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/guolei/p/3556402.html
Copyright © 2011-2022 走看看