mahout java api_mahout0.11 taste框架推荐引擎api

mahout0.11 taste框架推荐引擎api

发布时间:2020-08-08 15:47:04

来源:51CTO

阅读:857

作者:jethai

cba563bf9b7f6a19e5f4cf2b50accb29.png

所需jar包

f959c2f0ca50eff7d1b5f6d5a28b0ff1.png

数据格式以逗号分隔1,101,5.0

1,102,3.0

1,103,2.5

2,101,2.0

2,102,2.5

2,103,5.0

2,104,2.0

3,101,2.0

3,104,4.0

3,105,4.5

3,107,5.0

4,101,5.0

4,103,3.0

4,104,4.5

4,106,4.0

5,101,4.0

5,102,3.0

5,103,2.0

5,104,4.0

5,105,3.5

5,106,4.0

6,102,4.0

6,103,2.0

6,105,3.5

6,107,4.0

基于用户推荐import java.io.File;

import java.util.List;

import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;

import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood;

import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;

import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;

import org.apache.mahout.cf.taste.model.DataModel;

import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;

import org.apache.mahout.cf.taste.recommender.RecommendedItem;

import org.apache.mahout.cf.taste.recommender.Recommender;

import org.apache.mahout.cf.taste.similarity.UserSimilarity;

public class UserItemRecommend {

public static void main(String[] args) throws Exception{

//创建数据模型

DataModel dm = new FileDataModel(new File("C:/test.txt"));

//使用user来推荐,计算相似度

UserSimilarity us=new PearsonCorrelationSimilarity(dm);

//查找K(3)近邻

UserNeighborhood unb=new NearestNUserNeighborhood(3, us, dm);

//构造推荐引擎

Recommender re =new GenericUserBasedRecommender(dm, unb, us);

//显示推荐结果,为1号用户推荐两个商品

List list = re.recommend(1, 2);

for(RecommendedItem recommendedItem :list)

{

System.out.println(recommendedItem);

}

}

}

推荐结果RecommendedItem[item:104, value:4.257081]

RecommendedItem[item:106, value:4.0]

基于商品import java.io.File;

import java.util.List;

import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;

import org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender;

import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;

import org.apache.mahout.cf.taste.model.DataModel;

import org.apache.mahout.cf.taste.recommender.RecommendedItem;

import org.apache.mahout.cf.taste.recommender.Recommender;

import org.apache.mahout.cf.taste.similarity.ItemSimilarity;

public class ItemUserRecommend {

public static void main(String[] args) throws Exception{

//创建数据模型

DataModel dm = new FileDataModel(new File("C:/test.txt"));

ItemSimilarity is=new PearsonCorrelationSimilarity(dm);

//构造推荐引擎

Recommender re =new GenericItemBasedRecommender(dm,is);

//显示推荐结果,为1号用户推荐两个商品

List list = re.recommend(1, 2);

for(RecommendedItem recommendedItem :list)

{

System.out.println(recommendedItem);

}

}

}

slopeone算法,0.9版本已移除,要使用只能用0.8import java.io.File;

import java.util.List;

import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;

import org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender;

import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;

import org.apache.mahout.cf.taste.model.DataModel;

import org.apache.mahout.cf.taste.recommender.RecommendedItem;

import org.apache.mahout.cf.taste.recommender.Recommender;

import org.apache.mahout.cf.taste.similarity.ItemSimilarity;

public class SlopeOneRecommend {

public static void main(String[] args) throws Exception{

//创建数据模型

DataModel dm = new FileDataModel(new File("C:/test.txt"));

//构造推荐引擎

Recommender re =new SlopeOneRecommender(dm);;

//显示推荐结果,为1号用户推荐两个商品

List list = re.recommend(1, 2);

for(RecommendedItem recommendedItem :list)

{

System.out.println(recommendedItem);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值