mahout推荐系统源码笔记(6) ---补充之mahout抽样
2016-07-13 17:34
260 查看
mahout中基于hadoop的推荐系统采用抽样的方式压缩向量。
具体是这样的:
在相似度计算的job中,输入是这样的格式:
首先通过对每个item的向量空间进行sampleDown采样,然后默认是500,不够五百的空间取全部向量。
然后就这样将推荐的向量压缩在了一个可控的范围,接下来对itemID进行相似度计算以后会有一个topN的排行,这个排行又一次剪枝了相似度矩阵,默认是100,也就是说,对于如下格式:
控制每个A对于物品B的最大控制在100以内。
什么意思呢,从最后开始倒着想,我们最后需要推荐10个itemB给用户,然后这10个是怎么得到的呢?
其实就是从用户的使用历史也就是itemA中通过每个itemA和itemB的相似度和用户对itemA的偏好的加权平均得到的。
具体是这样的:
在相似度计算的job中,输入是这样的格式:
itemID , Vector< userID , pref >
首先通过对每个item的向量空间进行sampleDown采样,然后默认是500,不够五百的空间取全部向量。
然后就这样将推荐的向量压缩在了一个可控的范围,接下来对itemID进行相似度计算以后会有一个topN的排行,这个排行又一次剪枝了相似度矩阵,默认是100,也就是说,对于如下格式:
itemA , Vector< itemB , sim >
控制每个A对于物品B的最大控制在100以内。
什么意思呢,从最后开始倒着想,我们最后需要推荐10个itemB给用户,然后这10个是怎么得到的呢?
其实就是从用户的使用历史也就是itemA中通过每个itemA和itemB的相似度和用户对itemA的偏好的加权平均得到的。
相关文章推荐
- 从源码安装Mysql/Percona 5.5
- 详解HDFS Short Circuit Local Reads
- Hadoop_2.1.0 MapReduce序列图
- 使用Hadoop搭建现代电信企业架构
- 单机版搭建Hadoop环境图文教程详解
- 浅析Ruby的源代码布局及其编程风格
- hadoop常见错误以及处理方法详解
- asp.net 抓取网页源码三种实现方法
- JS小游戏之仙剑翻牌源码详解
- JS小游戏之宇宙战机源码详解
- 深入浅析knockout源码分析之订阅
- jQuery源码分析之jQuery中的循环技巧详解
- 本人自用的global.js库源码分享
- java中原码、反码与补码的问题分析
- ASP.NET使用HttpWebRequest读取远程网页源代码
- hadoop 单机安装配置教程
- hadoop的hdfs文件操作实现上传文件到hdfs
- hadoop实现grep示例分享
- PHP网页游戏学习之Xnova(ogame)源码解读(六)
- C#获取网页HTML源码实例