mahout学习(1)userCF+itemCF

3 篇文章 0 订阅
3 篇文章 0 订阅

主要参考文档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);

【评估结果】即计算所推荐的结果与理想的结果之间的偏差,但是由于不存在理想结果,不大可能预知理想结果,所以可以利用随机概率将数据集分为测试集和样本集,测试集通过推荐后的结果与样本集相对比,当然得到的结果是对某物品的评分,所以可通过计算平均差或方差来评估结果的误差。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值