Ndcg及其实现,NDCG
发表时间:2020-07-10
1、NDCG的目标:希望得到的排序列表,质量越高越好。并且,如果将更相关的排到更前面,那么计算得到的NDCG是会越高的。
AUC和NDCG的区别:
1、AUC的含义:把正样本排在负样本前的概率。AUC关注的是全局的排序,只要正样本排在负样本之前,就可以得分。并没有加权。
2、NDCG也是关注排序,但是NDCG关注的是,加权排序。比如我们希望top10的排序准确度,要比bottom10的排序准确度重要。对于这种加权排序,NDCG会更加合适。
因此,AUC和NDCG的区别是,加权与否。AUC的评估中,top-10的排序质量和bottom-10的排序质量是一样重要的。但是,在NDCG中,是需要加权的,top-10的排序质量和bottom-10的排序质量的权重是不一样的。
2、
说明:sklearn只有到0.20版本才支持NDCG误差的计算,因此我们可以将该代码拷贝出来。
说明:sklearn对二分类的NDCG貌似不是支持得很好,所以折中一下,换成三分类,第三类补成概率为0.
二分类中计算该指标。