概述
基于 item 的推荐算法分析
1 概述
基于 item 的推荐方法假设:能够引起用户兴趣的 item ,必定与其评分高的 item 相似。主要包括三个步骤: (1) 得到每个用户对 item 的评分数据; (2) 对 item 进行最近邻的搜索; (3) 产生推荐。
相比基于用户的推荐方法,基于 item 的推荐方法提高了协同过滤方法的扩展性和性能。基于用户的推荐方法会随着用户数量的不断增加,在海量数据的余户范围内进行“最近邻搜索”会成为算法的瓶颈,难以做实时的 item 推荐。而基于 item 的推荐方法通过计算 item 之间的相似性来替代计算用户之间的相似性。 Item 之间的相似性比用户之间的相似性更稳定,可以离线的计算 item 之间的相关性。
2 Mahout 中基于 item 的算法流程
2.1 参数
--output 输出路径
--input 输入路劲
-n 为每个用户推荐的产品数
-u 待推荐的用户列表
-i 待推荐的 item 列表
-f 过滤指定用户不需要推荐的 item 。格式为 userID, itemID 对
-b 输入的样本不带产品评分
-mp 设置每个用户喜好的最大数量 默认 10
-m 设置每个用户喜好的最小数量 默认 1
-mo 样本抽样
-s 相似度量方法。包括:
SIMILARITY_URRENCE(DistributedurrenceVectorSimilarity.class),
SIMILARITY_EUCLIDEAN_DISTANCE(DistributedEuclideanDistanceVectorSimilarity.class),
SIMILARITY_LOGLIKELIHOOD(DistributedLoglikelihoodVectorSimilarity.class),
SIMILARITY_PEARSON_CORRELATION(DistributedPearsonCorrelationVectorSimilarity.class),
SIMILARITY_TANIMOTO_COEFFICIENT(DistributedTanimotoCoefficientVectorSimilarity.class),
SIMILARITY_UNCENTERED_COSINE(DistributedUncenteredCosineVectorSimilarity.class),
SIMILARITY_UNCENTERED_ZERO_ASSUMING_COSINE(DistributedUncenteredZeroAssumingCosineVectorSimilarity.class),
SIMILARITY_CITY_BLOCK(DistributedCityBlockVectorSimilarity.class);
2.2 程序处理流程
Mahout 中基于 item 的推荐包括 12 个 MapReduce 过程。下面对每一个 MapReduce 的作用进行描述。 输入的数据以 userid “t” itemid “t” perferenceValue 格式输入,分别表示用户编号、产品编号和该用户对该产品的评分值。
(1) 第 1 个 MapReduce :将 itemID 长整型映射到整型的序号上。这样做的目的是为后续以该序号为矩阵的一个维度,所以需要处理成整型。
(2) 第 2 个 MapReduce :统计每个用户对哪些 item 进行了评分,评分值是多少。
(3) 第 3 个 MapReduce :统计用户的总数。
(4) 第 4 个 MapReduce :统计每个 item 被哪些用户评分了,评分值是多少。
(5) 第 5,6,7 个 MapReduce :计算每个 item 与所有 item 之间的相似度。
(6) 第 8 个 MapReduce :将相同 item 之间的相似度置为 NaN 。
(7) 第 9 个 MapReduce :确定要推荐的用户,这些用户对哪些 item 进行了评分,评分值是多少。
(8) 第 10 个 MapReduce :根据以上的统计结果得到每个 item 与其他 item 之间的相似度,这些 item 分别被哪些用户评分了,评分值是多少。
(9) 第 11 个 MapReduce :过滤掉指定用户不需要推荐的 item 。
(10) 第 12 个 MapReduce :得到每个用户要推荐的 item 。这些 item 对于该用户来说是评分最高的前 n 个。
最后
以上就是忧伤鸭子为你收集整理的基于item的协同过滤 基于 item 的推荐算法分析 的全部内容,希望文章能够帮你解决基于item的协同过滤 基于 item 的推荐算法分析 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复