推薦系統 NDCG評價指標及其Python實現方法

2021-09-28 16:50:58 字數 825 閱讀 9613

# ndcg

defget_dcg

(y_pred, y_true, k)

:#注意y_pred與y_true必須是一一對應的,並且y_pred越大越接近label=1(用相關性的說法就是,與label=1越相關)

df = pd.dataframe(

) df = df.sort_values(by=

"y_pred"

, ascending=

false

)# 對y_pred進行降序排列,越排在前面的,越接近label=1

df = df.iloc[

0:k,:]

# 取前k個

dcg =(2

** df[

"y_true"]-

1)/ np.log2(np.arange(

1, df[

"y_true"

].count()+

1)+1

)# 位置從1開始計數

dcg = np.

sum(dcg)

defget_ndcg

(df, k)

:# df包含y_pred和y_true

dcg = get_dcg(df[

"y_pred"

], df[

"y_true"

], k)

idcg = get_dcg(df[

"y_true"

], df[

"y_true"

], k)

ndcg = dcg / idcg

return ndcg

推薦系統評價 NDCG方法概述

摘要 哪一種模型更適合挖掘資訊,主要的決策因子是推薦質量,而推薦系統包括很多很棘手的問題,下面就由這篇文章帶給大家推薦系統評價。編者按 在資訊過剩的網際網路時代,推薦系統的地位隨著大資料的普及愈發重要。評估乙個推薦模型的質量面臨很多棘手的問題,我們常用的指標是直接的準確率 召回率,但準確率不一定具有...

NDCG評價指標講解

normalized discounted cumulative gain,即ndcg,常用於作為對rank的評價指標,當我們通過模型得出某些元素的ranking的時候,便可以通過ndcg來測評這個rank的準確度,同樣的演算法還包括map,mrr等,這裡只講解ndcg。我們通過乙個例項來說明一下這...

搜尋評價指標 NDCG

概念 ndcg,normalized discounted cumulative gain 直接翻譯為歸一化折損累計增益,可能有些晦澀,沒關係下面重點來解釋一下這個評價指標。這個指標通常是用來衡量和評價搜尋結果演算法 注意這裡維基百科中提到了還有推薦演算法,但是我個人覺得不太適合推薦演算法,後面我會...