协同过滤推荐是推荐系统广泛使用的一种技术。它的主要思想是建立用户与用户、物品与物品之间的相似性联系。并将这些转化为有意义的数据。常用语电商网站中,以为客户推荐其喜好产品为目的。主要的系统过滤推荐方式主要有以下四种:
- 基于用户的协同过滤推荐
- 基于物品的协同过滤推荐
- 基于模型的协同过滤推荐
- 混合协同过滤推荐
基于用户的相似性计算
基于用户的相似性计算非常简单。在一个系统中,我们假设具有相同爱好的客户的喜欢相同的物品。对用户的相似性计算可以用过Mahout机器学习实现,代码如下
final DataModel model = new FileDataModel(new File("src/main/resources/u.data"));
UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
int n = 20;
UserNeighborhood neighborhood = new NearestNUserNeighborhood(n, similarity, model);
final</