推薦演算法的平均召回率

2021-10-08 11:26:02 字數 1019 閱讀 7781

記使用者a的訓練樣本是  train_dataa  (使用者a的歷史行為資料)

使用者b的訓練樣本是  train_datab   (使用者b的歷史行為資料)

使用者a的真實購買物品集合是  set_a (ground_truth)

使用者b的真實購買物品集合是  set_b  (ground_truth)

推薦演算法給a推薦的記為    set_fake_a

推薦演算法給b推薦的記為    set_fake_b

平均召回率定義為  [ ( set_a∩set_fake_a   /   len(set_a)) +  ( set_b∩set_fake_b   /   len(set_b))  ]    /2

標準召回率是   (set_a∩set_fake_a + set_b∩set_fake_b)/( len(set_a)+len(set_b))

len(set_a)代表 set_a的長度(集合元素個數)

舉個例子:

這裡的推薦是topn推薦,n取2,也就是一次給使用者推薦兩個。

使用者a實際購買了物品         演算法給使用者a推薦物品   這樣命中的就是a,b    命中了2個

使用者b實際購買了物品               演算法給使用者b推薦物品    這樣命中的就只有e    命中了1個

平均召回率=[( 2/5 ) + ( 1/3 )]/2  =  0.367

標準召回率=[(2+1)/(5+3)]=0.375

平均召回率可以更好的描述推薦演算法的效能,這是因為平均召回率考慮到了召回乙個元素的難度。

舉例來說

使用者a實際購買10個物品,推薦演算法的推薦結果命中乙個

使用者b實際只購買2個物品,推薦演算法的推薦結果也是只命中乙個

那麼平均召回率=(1/10+1/2)/2=0.3

標準召回率=(1+1)/(10+2)=0.167     這裡推薦演算法命中的結果都是1,然後直接相加了起來,這裡顯然不合理,因為2個中1個是比較難的,10個中1個是較為簡單的,所以這兩個1應該區別開來。

平均召回率就更好的衡量了推薦演算法的效能。

推薦系統中評測指標準確率和召回率

這10個並不就是全部的,它的評測指標有很多,比如使用者滿意度 最重要的指標 準確度 覆蓋率 多樣性 新穎性 信任度 實時性 健壯性和商業目標。其中準確率和召回率是在 準確度裡面需要用上的概念,準確度可以分成評分 和topn推薦。topn 準確率 precision 召回率 recall 對使用者u推...

分類演算法 2 精準率和召回率曲線

精準率和召回率是兩個不同的評價指標,很多時候它們之間存在著差異,具體在使用的時候如何解讀精準率和召回率,應該視具體使用場景而定 有些場景,人們可能更注重精準率,如 系統,我們定義 公升為1,降為0,我們更關心的是未來公升的 的比例,而在另外一些場景中,人們更加注重召回率,如癌症 系統,定義健康為1,...

廣告召回率是什麼意思 準確率 精確率 召回率的含義

最近在看機器學習的,要理解準確率 精確率 召回率的含義,首先要理解 tp fn ft 和 tn 的含義。tp fn ft 和 tn 這幾個概念一直搞得不太清楚。記錄一下。看了別人的文章,舉的例子不是太好,不太容易理解 假設有100個人,實際上50個人喝酒了,50個人沒喝。我們有乙個判定是否喝酒的模型...