• Stars
    star
    150
  • Rank 247,323 (Top 5 %)
  • Language
    Java
  • Created almost 10 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MapReduce实现基于物品的协同过滤算法,即电影推荐系统

##MapReduce实现电影推荐系统 ###案例分析

  • 互联网某电影点评网站,主要产品包括
    • 电影介绍
    • 电影排行
    • 网友对电影打分
    • 网友影评
    • 影讯&购票
    • 用户在看|想看|看过的电影
    • 猜你喜欢(推荐)
  • 利用用户对电影的打分表来给用户推荐电影,用户打分表包括以下字段
    • userID--用户ID号
    • itemID--电影ID号
    • score--评分
      image

###基于物品的协同过滤算法

  • 建立物品的同现矩阵
    image
  • 建立用户对物品的评分矩阵
    image
  • 矩阵计算推荐结果
    image

###MapReduce实现

  • 程序流程图
    image
  • 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
    Step2:
    image
    Step3_1用户评分矩阵转型:
    image
    Step3_2同现矩阵转型:
    image
    Step4:
    image
    Step5:
    image

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

More Repositories

1

vue-tree-list

🌲A vue component for tree structure
Vue
654
star
2

vue-date-range

A vue component for choosing dates and date ranges. Uses Moment.js for date operations.
JavaScript
36
star
3

MessageQueue

基于Flume、Kafka、SparkSql模拟的实时日志分析系统
Java
12
star
4

chinese-chess

Chinese chess realized by javascript
TypeScript
10
star
5

page-switch

jquery轮播图插件
JavaScript
8
star
6

vue-ssr

vue server side render demo
JavaScript
7
star
7

gougou-rn

rn开发的狗狗说应用
Makefile
7
star
8

tiny-react-native

Objective-C
6
star
9

SecondaryCache

基于ehcache、redis实现的二级缓存系统,用akka实现服务器间缓存数据变化后的通信
Java
5
star
10

imooc_go_lottery

Go
4
star
11

ng2-cms

angularjs2开发的cms系统
TypeScript
4
star
12

BaseStation

模拟基站数据并进行简单分析
Java
4
star
13

grab-mooncake-demo

抢月饼demo
HTML
3
star
14

Fusion

多源遥感图像融合系统
IDL
3
star
15

ng2-dropdown-demo

基于ng2-dropdown的demo
TypeScript
3
star
16

react-date-range-ch

react-date-range的中文版本,并做了一些修改
JavaScript
3
star
17

blog

blog src
JavaScript
2
star
18

imooc-go

HTML
2
star
19

imooc_scrapy

HTML
2
star
20

scrapy-demo

学习scrapy的一个demo
Python
2
star
21

ParadeTo.github.io

blog
HTML
1
star
22

taolj

TypeScript
1
star
23

dataguru-javascript

JavaScript突击-从精通到项目实战
JavaScript
1
star
24

react-canvas-renderer

A Simple React Canvas Renderer
JavaScript
1
star
25

ayoulovenl

ayou love nl
JavaScript
1
star
26

learn-compile

Go
1
star
27

DistriCache

模仿spark源码实现的分布式缓存
Scala
1
star
28

web-in-action

web开发实战
JavaScript
1
star
29

dataguru-nodejs

dataguru nodejs
JavaScript
1
star
30

dataguru-algorithm

dataguru-面试算法突击
C++
1
star
31

rbt-demo

断点续传demo
JavaScript
1
star
32

wxDemo

微信小程序DEMO
JavaScript
1
star
33

SSR-MicroFrontend

JavaScript
1
star
34

react-stream-rendering-suspense

React SSR Stream Rendering & Suspense for Data Fetching
JavaScript
1
star
35

webgl-park

JavaScript
1
star
36

LogAnalysis

对网站日志进行简单的分析
Java
1
star
37

imooc-docker

imooc docker
JavaScript
1
star