用戶對物品的評分矩陣 × 物品相似矩陣 = 推薦列表 構建物品相似度矩陣的時候可以通過計算兩個物品的餘弦相似度得出,於是需要構建每個物品在所有用戶中的評分矩陣 本例中,不採用餘弦相似度的方式計算物品與物品相似度 在MapReduce作業中,輸入數據的格式是:用戶,物品,評分 第一步、構建用於評分矩陣 ...
用戶對物品的評分矩陣 × 物品相似矩陣 = 推薦列表
構建物品相似度矩陣的時候可以通過計算兩個物品的餘弦相似度得出,於是需要構建每個物品在所有用戶中的評分矩陣
本例中,不採用餘弦相似度的方式計算物品與物品相似度
在MapReduce作業中,輸入數據的格式是:用戶,物品,評分
第一步、構建用於評分矩陣,表示如下:
第二步、構建物品相似度矩陣。這裡採用的方法是:如果兩個物品同時出現在某個用戶的評分矩陣中,則計數加1,例如,101和102同時出現在A B E中,因此101和102的相似度計為3,依次類推得出整個相似度矩陣,這個矩陣是一個對稱矩陣。這一步的輸入是第一步的輸出。
代碼片段如下:
這樣得出的結果類似於這樣:
第三步、矩陣相乘。就是用第一步的輸出矩陣乘以第二步的輸出矩陣,這一步頗為複雜,需要將第二步的輸出矩陣緩存起來
話不多說,上代碼