mahout推荐系统源码笔记(6) ---补充之mahout抽样

mahout中基于hadoop的推荐系统采用抽样的方式压缩向量。
具体是这样的:
在相似度计算的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的偏好的加权平均得到的。

你可能感兴趣的:(mahout,源码,hadoop,mahout)