python 推荐系统 hadoop_用Hadoop流实现mapreduce版推荐系统基于物品的协同过滤算法...

问题导读

1.mapreduce矩阵乘法是如何实现的?

2.本文如何改进,形成一个mapreduce?

thread-14686-1-1.html

以个性化新闻推荐为例,整个过程分成两个mapreduce阶段,当然也可以整合为一个mapreduce,详细参考

让你真正明白什么是MapReduce组合式,迭代式,链式

http://www.aboutyun.com/thread-7435-1-1.html

1、首先需要将原始数据处理成如下形式的两个文件

文件一:Item_user_score.txt格式:物品—用户—分数

如下图中第一行,物品100655565被用户1634974浏览过,则将分数记为1

6cbb977928e529ff6f0e46249f365cb1.gif

1.png (8.4 KB, 下载次数: 10)

2015-8-9 19:25 上传

文件二:Item_Item_number.txt格式:物品—物品—相似度

如下图中第二行,物品100654360与物品100650498同时被两个用户浏览过

6cbb977928e529ff6f0e46249f365cb1.gif

2.png (8.01 KB, 下载次数: 4)

2015-8-9 19:25 上传

2、矩阵乘法

其实文件一和文件二分别保存着一个矩阵,第二步就是要做矩阵乘法。

step1mapper.py

[mw_shl_code=python,true]#!/usr/bin/env python

"""A more advanced Reducer, using Python iterators and generators."""

from itertools import groupby

from operator import itemgetter

import sys

def read

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值