主要参考文档mahout-in-action中的第二章
【推荐】
对于userCF,要先获取评分数据 存于DataModel中,定义用户间相似度的计算方法Similarity,可利用一定方法如KNN来求相似用户Neighborhood,根据相似用户喜欢的物品向用户推荐物品,保存于Recommender中。
DataModel model=new FileDataModel(new File("intro.csv")); UserSimilarity similarity=new PearsonCorrelationSimilarity(model); UserNeighborhood neighborhood=new NearestNUserNeighborhood(2,similarity,model);//knn n=2 Recommender recommender=new GenericUserBasedRecommender(model,neighborhood,similarity);向指定用户i推荐k个物品:List<RecommendedItem>recommendations=recommender.recommend(i, k);
对于itemCF,只需确定DataModel及Similarity,根据相似物品向用户推荐。。
DataModel model=new FileDataModel(new File("intro.csv")); ItemSimilarity similarity=new PearsonCorrelationSimilarity(model); Recommender recommender=new GenericItemBasedRecommender(model,similarity);
【评估结果】即计算所推荐的结果与理想的结果之间的偏差,但是由于不存在理想结果,不大可能预知理想结果,所以可以利用随机概率将数据集分为测试集和样本集,测试集通过推荐后的结果与样本集相对比,当然得到的结果是对某物品的评分,所以可通过计算平均差或方差来评估结果的误差。。。。
作者:YYlxid 发表于2013-11-27 0:19:03 原文链接
阅读:115 评论:0 查看评论