基于Item的时序协同过滤算法

标签: 个性化推荐与搜索 | 发表时间:2014-08-06 15:14 | 作者:bicloud
出处:http://blog.sina.com.cn/bicloud

基于Item的时序协同过滤算法技术方案包括两个步骤:

(1)提取用户商品点击日志、搜索点击日志和商品基本信息等基本数据。然后,去除噪音数据(譬如每天点击商品数达到数以万计的用户)和缺失值数据,构建时序点击流数据,即记录用户每天按照点击时间先后顺序排序的商品行为数据。从而得到如下数据结构:<用户id,商品id,点击时间,点击日期>;

(2)时序协同过滤算法构建模块,根据数据预处理阶段的得到的商品点击时序数据集,在ODPS平台上实现该算法算法,计算商品之间的相关性。

时序协同过滤算法

步骤1:计算商品之间相关性

Map阶段

输入:key(行记录标识), value(用户id,商品id,点击时间,点击日期)

输出:key(用户id,点击日期,点击时间), value(商品id,点击时间)

Reduce阶段:

输入:key(用户id,点击日期,点击时间), value(商品id,点击时间)

输出:ODPS Record(点击日期,商品1, 商品2, 相关性分数)

计算相关性分数算法:

  1. 计算每个用户每天的点击时间序列对,按照升序排列,即<商品1,点击时间1>,<商品2,点击时间2>,…,<商品n,点击时间n>;
  2. 在每个用户的商品点击序列中,如果两两商品时间序列对的点击时间差小于等于两个小时,则表示这两个商品具备相关性;计算出有效时序商品序列<商品1,商品2,商品3,…,商品n>;
  3. 计算商品之间的相关性,公式如下:   

    ,其中score表示相关性分值,delta表示任意两个商品之间的时间排序位置之差

步骤2:计算每天商品之间相关性均值,减少噪声数据,譬如用户无意图的商品点击序列

Map阶段

输入:key(行记录标识), value(点击日期,商品1, 商品2, 相关性分数)

输出:key(点击日期,商品1, 商品2), value(相关性分数)

Reduce阶段

输入:key(点击日期,商品1, 商品2), value(相关性分数)

输出:ODPS Record(商品1, 商品2, 相关性分数均值)

步骤3:计算每月商品之间的相关性,减少噪声数据,去除异常的相关性数据

Map阶段

输入:key(行记录标识), value(商品1, 商品2, 相关性分数)

输出:key(商品1, 商品2), value(相关性分数)

Reduce阶段

输入:key(商品1, 商品2), value(相关性分数)

输出:ODPS Record(商品1, 商品2, 相关性分数均值)

参考:

http://blog.sina.com.cn/s/blog_61c463090102uwqu.html

http://www.aliyun.com/ odps 


  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [item 协同过滤 算法] 推荐:

基于Item的时序协同过滤算法

- - 冰火岛
基于Item的时序协同过滤算法技术方案包括两个步骤:. (1)提取用户商品点击日志、搜索点击日志和商品基本信息等基本数据. 然后,去除噪音数据(譬如每天点击商品数达到数以万计的用户)和缺失值数据,构建时序点击流数据,即记录用户每天按照点击时间先后顺序排序的商品行为数据. 从而得到如下数据结构:<用户id,商品id,点击时间,点击日期>;.

协同过滤算法

- - CSDN博客推荐文章
今天要讲的主要内容是 协同过滤,即Collaborative Filtering,简称 CF.    关于协同过滤的一个最经典的例子就是看电影,有时候不知道哪一部电影是我们喜欢的或者评分比较高的,那.    么通常的做法就是问问周围的朋友,看看最近有什么好的电影推荐. 在问的时候,都习惯于问跟自己口味差不.

为豆瓣电影实现Item-based协同过滤的推荐系统

- - 鸟窝
前面的两篇文章分别使用Spark mllib ALS实现了Model-based协同过滤推荐系统和使用Mahout实现了User-based的协同过滤推荐系统. 我们再来回顾一下item-base CF算法的特点:. 物品数明显小于用户数的场合,否则物品相似度矩阵计算代价很大. 适合长尾物品丰富,用户个性化需求强的领域.

推荐算法之基于用户的协同过滤算法

- - CSDN博客综合推荐文章
协同过滤是推荐算法中最基本的算法,主要分为基于用户的协同过滤算法和基于物品的协同过滤算法. 这篇文章主要介绍基于用户的协同过滤算法,简单来说,要给用户u作推荐,那么只要找出那些和u之前的行为类似的用户,即和u比较像的用户,把他们的行为推荐给用户u即可. 所以基于用户的系统过滤算法包括两个步骤:1)找到和目标用户兴趣相似的用户集合  2)找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户.

基于综合兴趣度的协同过滤推荐算法

- - IT技术博客大学习
标签:   兴趣   协同过滤   推荐. 电子商务推荐系统最大的优点在于它能收集用户的兴趣资料和个人信息,根据用户兴趣偏好主动为用户做出个性化推荐. 推荐技术指的是如何找出用户感兴趣的商品并列出推荐清单,在用户信息获取差别不大的情况下,推荐技术成为决定一个推荐系统性能的关键,其中推荐算法是推荐技术的核心[1].

推荐算法之协同过滤实战

- - 互联网 - ITeye博客
协同过滤(Collective Filtering)可以说是推荐系统的标配算法. 在谈推荐必谈协同的今天,我们也来谈一谈基于KNN的协同过滤在实际的推荐应用中的一些心得体会. 我们首先从协同过滤的两个假设聊起. 用户一般会喜欢与自己喜欢物品相似的物品. 用户一般会喜欢与自己相似的其他用户喜欢的物品.

协同过滤推荐算法的原理及实现

- - 蓝鲸的网站分析笔记
协同过滤推荐算法是诞生最早,并且较为著名的推荐算法. 算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品. 协同过滤推荐算法分为两类,分别是基于用户的协同过滤算法(user-based collaboratIve filtering),和基于物品的协同过滤算法(item-based collaborative filtering).

RHadoop实践系列之三 R实现MapReduce的协同过滤算法

- - 统计之都
Author:张丹(Conan). @晒粉丝 http://www.fens.me. @每日中国天气 http://apps.weibo.com/chinaweatherapp. RHadoop实践系列文章. RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析. Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来替代Java的MapReduce实现.

基于Spark MLlib平台的协同过滤算法---电影推荐系统

- - zzm
又好一阵子没有写文章了,阿弥陀佛...最近项目中要做理财推荐,所以,回过头来回顾一下协同过滤算法在推荐系统中的应用.     说到推荐系统,大家可能立马会想到协同过滤算法. 本文基于Spark MLlib平台实现一个向用户推荐电影的简单应用. 基于模型的协同过滤应用---电影推荐.     一、协同过滤算法概述.