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