Movie Recommendation电影推荐

问题描述:lintcode506

Give a user a list of movies he has seen and recommend other movies he may like for each user. Here we specify a simple recommendation algorithm that you need to implement in Map Reduce.
For a user, join the movies A, B, C that he has seen, then we can see which movie collections these people have seen among the people who have seen the movies A, B or C. For these movies, the first five movies with the highest frequency are recommended to the user. The recommended movies need to be sorted according to the degree of correlation

思路:

Map Reduce思想运用得不够好,解题逻辑是分三步:第一步,分别以每个电影为key,计算用户看此电影的次数(此题中看过记为1次,没看过的不标记,没有多次看同一个电影)。第二步,计算共现矩阵,即用户数为矩阵行数、列数,如果两个用户同事看过相同的电影,则共现,标为1,如果没有同时看过相同的电影,则标为0。例共现矩阵第一行所示用户,标为1的列元素下标,即为与第一行用户共现的用户。第三步,剔除当前用户,所有与当前用户共现用户看过的电影次数叠加,并按照次数排序,根据排序,推荐次数最多的5部电

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值