一直使用mahout的RowSimilarity来计算物品间的相似度,今晚仔细看了其实现,终于搞明白了他的计算逻辑. 上篇中介绍了整个itemBaseCF的mapreducer过程,主要有三个大的步骤吧,我把他称为prepare阶段,计算相似阶段和利用相似性计算推荐阶段. prepare阶段主要完成的是矩阵转换变换以及统计一些相似及推荐时用到的一些属性. 第二阶段是计算相似性:有几个数据较为重要,如下所示. norms.bin:是用来存放所有用户对一个商品的平方和,数据存储为itemA:doub…