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.
二分類中計算該指標。