|
這里我使用”Mahout In Action”書里,第一章第六節(jié)介紹的分步式基于物品的協(xié)同過濾算法進(jìn)行實(shí)現(xiàn)。Chapter 6: Distributing recommendation computations 測(cè)試數(shù)據(jù)集:small.csv 1,101,5.0 1,102,3.0 1,103,2.5 2,101,2.0 2,102,2.5 2,103,5.0 2,104,2.0 3,101,2.0 3,104,4.0 3,105,4.5 3,107,5.0 4,101,5.0 4,103,3.0 4,104,4.5 4,106,4.0 5,101,4.0 5,102,3.0 5,103,2.0 5,104,4.0 5,105,3.5 5,106,4.0 每行3個(gè)字段,依次是用戶ID,電影ID,用戶對(duì)電影的評(píng)分(0-5分,每0.5為一個(gè)評(píng)分點(diǎn)!) 算法的思想: 1. 建立物品的同現(xiàn)矩陣 2. 建立用戶對(duì)物品的評(píng)分矩陣 3. 矩陣計(jì)算推薦結(jié)果 1). 建立物品的同現(xiàn)矩陣 按用戶分組,找到每個(gè)用戶所選的物品,單獨(dú)出現(xiàn)計(jì)數(shù)及兩兩一組計(jì)數(shù)。 [101] [102] [103] [104] [105] [106] [107] [101] 5 3 4 4 2 2 1 [102] 3 3 3 2 1 1 0 [103] 4 3 4 3 1 2 0 [104] 4 2 3 4 2 2 1 [105] 2 1 1 2 2 1 1 [106] 2 1 2 2 1 2 0 [107] 1 0 0 1 1 0 1 2). 建立用戶對(duì)物品的評(píng)分矩陣 按用戶分組,找到每個(gè)用戶所選的物品及評(píng)分 U3 [101] 2.0 [102] 0.0 [103] 0.0 [104] 4.0 [105] 4.5 [106] 0.0 [107] 5.0 3). 矩陣計(jì)算推薦結(jié)果 同現(xiàn)矩陣*評(píng)分矩陣=推薦結(jié)果 MapReduce任務(wù)設(shè)計(jì) 解讀MapRduce任務(wù): 步驟1: 按用戶分組,計(jì)算所有物品出現(xiàn)的組合列表,得到用戶對(duì)物品的評(píng)分矩陣 步驟2: 對(duì)物品組合列表進(jìn)行計(jì)數(shù),建立物品的同現(xiàn)矩陣 步驟3: 合并同現(xiàn)矩陣和評(píng)分矩陣 步驟4: 計(jì)算推薦結(jié)果列表
|
|
|
來(lái)自: 昵稱16619343 > 《辦公技能》