推薦系統評估指標


推薦系統評估指標

https://www.cnblogs.com/eilearn/p/14164687.html

PNR(Positive Negative Rate)

  • 正逆序比 = 正序數 / 逆序數;

AUC(Area Under Curve)

  • ROC(Receiver Operating Characteristic)曲線與AUC(Area Under Curve)

ROC曲線:

  • 橫坐標:假正率(False positive rate, FPR),FPR = FP / [FP + TN] ,代表所有負樣本中錯誤預測為正樣本的概率,假警報率;

  • 縱坐標:真正率(True positive rate, TPR),TPR = TP / [TP + FN] ,代表所有正樣本中預測正確的概率,命中率。

對角線對應於隨機猜測模型,而(0,1)對應於所有整理排在所有反例之前的理想模型。曲線越接近左上角,分類器的性能越好。

ROC曲線有個很好的特性:當測試集中的正負樣本的分布變化的時候,ROC曲線能夠保持不變。在實際的數據集中經常會出現類不平衡(class imbalance)現象,即負樣本比正樣本多很多(或者相反),而且測試數據中的正負樣本的分布也可能隨着時間變化。

ROC曲線繪制:

(1) 根據每個測試樣本屬於正樣本的概率值從大到小排序;

(2) 從高到低,依次將“Score”值作為閾值threshold,當測試樣本屬於正樣本的概率大於或等於這個threshold時,我們認為它為正樣本,否則為負樣本;

(3) 每次選取一個不同的threshold,我們就可以得到一組FPR和TPR,即ROC曲線上的一點。

  • 當我們將threshold設置為1和0時,分別可以得到ROC曲線上的(0,0)和(1,1)兩個點。將這些(FPR,TPR)對連接起來,就得到了ROC曲線。當threshold取值越多,ROC曲線越平滑。

AUC(Area Under Curve)即為ROC曲線下的面積

  • AUC越接近於1,分類器性能越好。

物理意義:首先AUC值是一個概率值,當你隨機挑選一個正樣本以及一個負樣本,當前的分類算法根據計算得到的Score值將這個正樣本排在負樣本前面的概率就是AUC值。當然,AUC值越大,當前的分類算法越有可能將正樣本排在負樣本前面,即能夠更好的分類。

計算公式:就是求曲線下矩形面積。

推薦系統的 auc:https://mp.weixin.qq.com/s/e3qcSo8LPDf2S8TUvU6S1A

  • AUC代表模型預估樣本之間的排序關系,即正負樣本之間預測的gap越大,auc越大

ROC曲線反映了分類器的分類能力,結合考慮了分類器輸出概率的准確性

AUC量化了ROC曲線的分類能力,越大分類效果越好,輸出概率越合理

AUC常用作CTR的離線評價,AUC越大,CTR的排序能力越強

計算邏輯問題:

AUC計算是基於模型對全集樣本的的排序能力,而真實線上場景,往往只考慮一個用戶一個session下的排序關系。這里的gap往往導致一些問題。正如參考[3]中的舉例的幾個case,比較典型。主要包括兩點:

  1. 線上會出現新樣本,在線下沒有見過,造成AUC不足。這部分更多是采用online learning的方式去緩解,AUC本身可改進的不多。

  2. 線上的排序發生在一個用戶的session下,而線下計算全集AUC,即把user1點擊的正樣本排序高於user2未點擊的負樣本是沒有實際意義的,但線下auc計算的時候考慮了它。

  3. 改進:deepES 數據分析時,分用戶進行 pnr 統計;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM