- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于协同过滤的推荐 - 大数据资源
如果商品數目多於兩項,假設有M項,該如何計算打分值? 基於協同過濾的推薦 ——SlopOne 用戶X, Y都對Item1-Item4打了分. 同時用戶Z對Item 1、Item 2、Item 4打了分, 此時用戶Z對Item 3可能會打多少分呢? Rating 洗衣機 電冰箱 彩電 空調 X 5 10 10 5 Y 4 5 4 10 Z 4 10 ? 5 基於協同過濾的推薦 ——SlopOne 如果商品數目多於兩項,打分規則如下: 其中R(i,j)代表Item i到Item j的平均差,rtj表示目標使用者對Item j的打分,rki、rkj是參與打分Item j的用戶k對Item i跟Item j的打分,nj是參與打分Item j的人數。 根據公式可得: Rating 洗衣機 電冰箱 彩電 空調 X 5 10 10 5 Y 4 5 4 10 Z 4 10 ? 5 需要預先離線計算出每兩個物品之間的偏好值平均差異。 其線上部分運行很快。 沒用到相似度計算。調參工作量大大減少。 * 基於協同過濾的推薦 ——SlopOne 優缺點: 結束語 推薦系統改變了沒有活力的網站與其使用者通信的方式。無需提供一種靜態體驗,讓使用者搜索並可能購買產品,推薦系統加強了交互,以提供內容更豐富的體驗。 推薦系統根據使用者過去的購買和搜索歷史,以及其他用戶的行為,自主地為各個使用者識別推薦內容。 The End Thanks for listening /view/2eb8b6efdd3383c4ba4cd219.html ##(0)安裝載入R包 install.packages(recommenderlab) library(recommenderlab) ##(1)載入數據集 data(Jester5k) #該數據集包含5000個樣本數據,來源於Jester線上笑話推薦系統搜集的1999年4月至2003年5月期間的匿名使用者對笑話的評價數據 #數據集包含對100個笑話的評價,評分從-10至+10 #數據集中所有用戶至少評價36個笑話 #Jester5k包含362106個評分 ##(2)基於用戶的推薦 rU - Recommender(Jester5k[1:1000], method = UBCF) rU #向第1001和1002用戶推薦的5個物品 recomU - predict(rU, Jester5k[1001:1002], n=5) recomU as(recomU, list) #預測評分 recomU - predict(rU, Jester5k[1001:1002], type=ratings) recomU as(recomU, matrix)[,1:10] ##(3)評價方案:1000個樣本,90%作為訓練集,10%作為測試集 #測試集中15個物品用於推薦演算法中,另外的用於計算誤差 e - evaluationScheme(Jester5k[1:1000], method=split, train=0.9, given=15, goodRating=5) e #應用訓練集產生基於用戶的推薦 r1 - Recommender(getData(e, train), UBCF) #對已知部分的測試數據(每個使用者對15個物品的評分)用基於使用者的推薦演算法計算預測評分 p1 - predict(r1, getData(e, known), type=ratings) errorU - calcPredictionAccuracy(p1, getData(e, unknown)) errorU ##(0)安裝載入R包 install.packages(recommenderlab) library(recommenderlab) ##(1)載入數據集 data(Jester5k) #該數據集包含5000個樣本數據,來源於Jester線上笑話推薦系統搜集的1999年4月至2003年5月期間的匿名使用者對笑話的評價數據 #數據集包含對100個笑話的評價,評分從-10至+10 #數據集中所有用戶至少評價36個笑話 #Jester5k包含362106個評分 ##(2)基於物品的推薦 rI - Recommender(Jester5k[1:1000], method = IBCF) rI #向第1001和1002用戶推薦的5個物品 recomI - predict(rI, Jester5k[1001:1002], n=5) recomI as(recomI, list) #預測評分 recomI - predict(rI, Jester5k[1001:1002], type=ratings) re
文档评论(0)