storm實現基於物品的推薦

2021-08-14 14:14:09 字數 1160 閱讀 8851

list儲存

jedis.lpush("recom","1:1:5");
jedis.rpop("recom")
lrange recom 0 12
set儲存

使用者id 物品id:評分

sadd 1 2:4

.5

smembers 5

1) "1:4"

2) "2:3"

3) "5:3.5"

4) "4:4"

5) "3:2"

6) "6:4"

計算使用者的對物品的同現矩陣

hash儲存

weight:使用者id 下標1:下標2 矩陣值

weight:5 1:2 2

jedis.hmset("weight:"+userid, weightcount);
查詢使用者的同現矩陣:

hgetall weight:5

1) "1:1"

2) "1"

計算整個同現矩陣

儲存

jedis.hmset("weight",maptemp);

hgetall weight
推薦

set

jedis.sadd("userscore:" + userid, string.valueof(result[i]));
smembers userscore:1

1) "0.0"

2) "15.5"

3) "10.5"

4) "23.5"

5) "5.0"

同現矩陣計算不正確 下標

錯誤值-正確值

3 43 4

4 43-4

3 33-4

2 32-3

1 33-4

3 13-4

4 13-4

1 43-4

2 22-3

error util - async loop died!

多執行緒 同步

基於物品 使用者 的推薦演算法

用mapreduce計算框架實現了3個小demo wordcount 基於物品的推薦演算法 itemcf 和基於使用者的推薦演算法 usercf 連線 map輸入 key longwritable型別,每一行的起始偏移量 value text型別 userid,itemid,score map輸出 ...

python推薦演算法itemCF基於物品的協同過濾

itemcf demo python 3.7 import numpy as np import math test data users u1 u2 u3 item like list a,b,c a,b,c,e,f a,e 單個商品喜歡人數 def check 1item item return...

基於物品的協同過濾推薦

思想 利用物品間的相似度,給使用者推薦與使用者過去行為物品相似的物品。資源 使用者物品評分矩陣 填空,即對使用者沒有過評分的物品進行 打分 物品相似度評測 改進的余弦相似度 u 表示使用者集,用r表示n m的評分矩陣,rij代表評分項,表示使用者i對物品j的評分。公式分子可以理解為 兩個物品有共同評...