使用Python MrJob的MapReduce實(shí)現(xiàn)電影推薦系統(tǒng) - 大魁的專(zhuān)欄 - 博客頻道 - CSDN.NET
http://blog.csdn.net/lzt1983/article/details/8777884
電影推薦系統(tǒng)
假設(shè)我們現(xiàn)在有一個(gè)影視網(wǎng)站芋哭,每一個(gè)用戶可以給電影評(píng)1到5分耿币,現(xiàn)在我們需要計(jì)算每?jī)蓚€(gè)電影之間的相似度,其過(guò)程是:
對(duì)于任一電影A和B,我們能找出所有同時(shí)為A和B評(píng)分過(guò)的人攒霹;
根據(jù)這些人的評(píng)分,構(gòu)建一個(gè)基于電影A的向量和一個(gè)基于電影B的向量;
根據(jù)這兩個(gè)向量計(jì)算他們之間的相似度;
當(dāng)有用戶看過(guò)一部電影之后吸占,我們給他推薦與之相似度最高的另一部電影;
你可以從這里下載一些開(kāi)源的電影評(píng)分?jǐn)?shù)據(jù)凿宾,我們使用的是1000個(gè)用戶對(duì)1700部電影進(jìn)行的100000萬(wàn)個(gè)評(píng)分?jǐn)?shù)據(jù)矾屯,下載后的數(shù)據(jù)文件夾包含一個(gè)README,里面有對(duì)各個(gè)文件的詳細(xì)介紹初厚,鑒于我們只需要(user|movie|rating)數(shù)據(jù)件蚕,所以我們用Python把這些數(shù)據(jù)進(jìn)行一些處理: