Recommend-master
所属分类:WEB开发
开发工具:Python
文件大小:4917KB
下载次数:14
上传日期:2018-07-04 13:37:27
上 传 者:
shiyi5
说明: 实现电影推荐系统,互联网某电影点评网站,利用用户对电影的打分表来给用户推荐电影
(Using MapReduce for movie recommendation system)
文件列表:
code (0, 2016-06-03)
code\recommend (0, 2016-06-03)
code\recommend\.classpath (5186, 2016-06-03)
code\recommend\.project (420, 2016-06-03)
code\recommend\bin (0, 2016-06-03)
code\recommend\bin\com (0, 2016-06-03)
code\recommend\bin\com\paradeto (0, 2016-06-03)
code\recommend\bin\com\paradeto\recommend (0, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\HDFSFile.class (4329, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Recommend.class (3128, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\SortHashMap$1.class (1224, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\SortHashMap.class (2595, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step1$Step1_ToItemPreMapper.class (2754, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step1$Step1_ToUserVectorReducer.class (2801, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step1.class (2567, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step2$Step2_UserVectorToConoccurrenceReducer.class (2467, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step2$Step2_UserVectorToCooccurrenceMapper.class (2997, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step2.class (2469, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step3$Step31_UserVectorSplitterMapper.class (3040, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step3$Step32_CooccurrenceColumnWrapperMapper.class (2595, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step3.class (2764, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step4_Update$Step4_AggregateReducer.class (4087, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step4_Update$Step4_PartialMultiplyMapper.class (3703, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step4_Update.class (2701, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step4_Update2$Step4_RecommendMapper.class (2503, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step4_Update2$Step4_RecommendReducer.class (3285, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step4_Update2.class (2624, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step5$Step5_FilterSortMapper.class (3373, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step5$Step5_FilterSortReducer.class (4780, 2016-06-03)
code\recommend\bin\com\paradeto\recommend\Step5.class (2652, 2016-06-03)
code\recommend\src (0, 2016-06-03)
code\recommend\src\com (0, 2016-06-03)
code\recommend\src\com\paradeto (0, 2016-06-03)
code\recommend\src\com\paradeto\recommend (0, 2016-06-03)
code\recommend\src\com\paradeto\recommend\HDFSFile.java (3851, 2016-06-03)
code\recommend\src\com\paradeto\recommend\Recommend.java (3819, 2016-06-03)
code\recommend\src\com\paradeto\recommend\SortHashMap.java (1714, 2016-06-03)
code\recommend\src\com\paradeto\recommend\Step1.java (3401, 2016-06-03)
... ...
##MapReduce实现电影推荐系统
###案例分析
* 互联网某电影点评网站,主要产品包括
* 电影介绍
* 电影排行
* **网友对电影打分**
* 网友影评
* 影讯&购票
* 用户在看|想看|看过的电影
* **猜你喜欢(推荐)**
* 利用用户对电影的打分表来给用户推荐电影,用户打分表包括以下字段
* userID--用户ID号
* itemID--电影ID号
* score--评分
![image](https://github.com/ParadeTo/Recommend/blob/master/img/theory-5.png)
###基于物品的协同过滤算法
* 建立物品的同现矩阵
![image](https://github.com/ParadeTo/Recommend/blob/master/img/theory-6.png)
* 建立用户对物品的评分矩阵
![image](https://github.com/ParadeTo/Recommend/blob/master/img/theory-7.png)
* 矩阵计算推荐结果
![image](https://github.com/ParadeTo/Recommend/blob/master/img/theory-8.png)
###MapReduce实现
* 程序流程图
![image](https://github.com/ParadeTo/Recommend/blob/master/img/mapreduce.jpg)
* 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:
![image](https://github.com/ParadeTo/Recommend/blob/master/img/step1-out.png)
Step2:
![image](https://github.com/ParadeTo/Recommend/blob/master/img/step2-out.png)
Step3_1用户评分矩阵转型:
![image](https://github.com/ParadeTo/Recommend/blob/master/img/step3_1-out.png)
Step3_2同现矩阵转型:
![image](https://github.com/ParadeTo/Recommend/blob/master/img/step3_2-out.png)
Step4:
![image](https://github.com/ParadeTo/Recommend/blob/master/img/step4-out-my.png)
Step5:
![image](https://github.com/ParadeTo/Recommend/blob/master/img/step5-out.png)
###关于
该项目基于[炼数成金](http://www.dataguru.cn/)《Hadoop应用开发实战案例 第六期》所提供的案例进行优化
近期下载者:
相关文件:
收藏者: