电影推荐系统

MapReduce实现电影推荐系统

案例分析

  • 互联网某电影点评网站,主要产品包括
    • 电影介绍
    • 电影排行
    • 网友对电影打分
    • 网友影评
    • 影讯&购票
    • 用户在看|想看|看过的电影
    • 猜你喜欢(推荐)
  • 利用用户对电影的打分表来给用户推荐电影,用户打分表包括以下字段
    • userID–用户ID号
    • itemID–电影ID号
    • score–评分
      电影推荐系统
      ###基于物品的协同过滤算法
  • 建立物品的同现矩阵
    电影推荐系统
  • 建立用户对物品的评分矩阵
    电影推荐系统
  • 矩阵计算推荐结果
    电影推荐系统

###MapReduce实现

  • 程序流程图
    电影推荐系统
  • Java类说明
    • Recommend.java–主任务启动程序
    • Step1.java–按用户分组,计算所有物品出现的组合列表,得到用户对物品的评分矩阵
    • Step2.java–对itemID组合列表进行计数,建立其同现矩阵
    • Step3.java–对同现矩阵和评分矩阵进行转型,便于后续处理
    • Step4_Update.java–矩阵相乘乘法部分
    • Step4_Update2.java–矩阵相乘加法部分
    • Step5.java–对结果进行过滤和排序
    • HDFSFile.java–HDFS路径文件操作类
    • SortHashMap.java–HashMap排序类
  • 程序输出结果
    Step1:
    电影推荐系统
    Step2:
    电影推荐系统
    Step3_1用户评分矩阵转型:
    电影推荐系统
    Step3_2同现矩阵转型:
    电影推荐系统
    Step4:
    电影推荐系统
    Step5:
    电影推荐系统

###关于
该项目基于炼数成金《Hadoop应用开发实战案例 第六期》所提供的案例进行优化

返回系统