MapReduce实例学习(电商网站关键词分析)

匿名 (未验证) 提交于 2019-12-03 00:40:02

MapReduce设计模式》

电子商务网站是个性化推荐系统重要地应用的领域之一

30%的销售额。

不光是电商类,推荐系统无处不在。

QQ,人人网的好友推荐;新浪微博的你可能感觉兴趣的人;优酷,土豆的电影推荐;豆瓣的图书推荐;大从点评的餐饮推荐;世纪佳缘的相亲推荐;天际网的职业推荐等。

思考:

购买成功后:购买了该商品的其他用户购买了以下商品

根据用户的实时行为

搜索成功后:您可能感兴趣的以下商品

根据用户的主观意识

主页或广告:您可能感兴趣的以下商品

根据用户的特征向量

――协同过滤(Collaborative Filtering)算法

UserCF

基于用户的协同过滤,通过不同用户对物品的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐。简单来讲就是:给用户推荐和他兴趣相似的其他用户喜欢的物品。

――协同过滤(Collaborative Filtering)算法

ItemCF

item的协同过滤,通过用户对不同item的评分来评测item之间的相似性,基于item之间的相似性做出推荐。简单来讲就是:给用户推荐和他之前喜欢的物品相似的物品。

Co-occurrence Matrix(同现矩阵)和User Preference Vector(用户评分向量)相乘得到的这个Recommended Vector(推荐向量)

基于全量数据的统计,产生同现矩阵

体现商品间的关联性

每件商品都有自己对其他全部商品的关联性(每件商品的特征)

用户评分向量体现的是用户对一些商品的评分

任一商品需要:

用户评分向量乘以基于该商品的其他商品关联值

求和得出针对该商品的推荐向量

TopN即可

大白话:

通过历史订单交易记录

计算得出每一件商品相对其他商品同时出现在同一订单的次数

so:每件商品都有自己相对全部商品的同现列表

用户会对部分商品有过加入购物车,购买等实际操作,经过计算会得到用户对这部分商品的评分向量列表

使用用户评分向量列表中的分值:

依次乘以每一件商品同现列表中该分值的代表物品的同现值

求和便是该物品的推荐向量

MR源语

去除重复数据

计算用户评分向量

计算同现矩阵

计算乘机

计算求和

TopN

在本机跑的时候,前期需要上传包含数据的文本。

Click:点击

Collect:收藏

Cart:购物车

Apply:付款

同线矩阵:对称的二维数组

MapReduce(k:v,原语)

原始数据

i161,u2625,click,2014/9/18 15:03

i161,u2626,click,2014/9/23 22:40

i161,u2627,click,2014/9/25 19:09

i161,u2628,click,2014/9/28 21:35

用户评分向量(所有用户对所有商品的评分)

同现矩阵

乘积计算

求和计算

去除重复数据

计算用户评分向量

key:用户

value:商品:评分 列表

计算同现矩阵

sum次数

key:商品A:商品B

key:商品B:商品A

value:1

计算乘机

按商品分组

A商品同现列表

A商品的评分

A商品的乘机

but:计算商品A对于用户甲的推荐向量需要满足:

A同现商品各自的评分乘机,再求和

map@key:商品

map@val:

reduce@key:用户+同现

reduce@valmap@key+乘机

计算求和

TopN

同现:

用户评分:

101:12

102:6

输出:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!