1.HelloMahout.java
2.DistanceTest.java
3.MahoutDemo.java
1.HelloMahout.java
1 package cn.crxy.mahout; 2 3 import java.io.File; 4 import java.util.List; 5 6 import org.apache.log4j.Logger; 7 import org.apache.mahout.cf.taste.impl.model.file.FileDataModel; 8 import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood; 9 import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender; 10 import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity; 11 import org.apache.mahout.cf.taste.model.DataModel; 12 import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood; 13 import org.apache.mahout.cf.taste.recommender.RecommendedItem; 14 import org.apache.mahout.cf.taste.recommender.Recommender; 15 import org.apache.mahout.cf.taste.similarity.UserSimilarity; 16 17 public class HelloMahout { 18 19 public static void main(String[] args) { 20 21 Logger logger=Logger.getLogger(HelloMahout.class); 22 try { 23 //读取用户评分数据 封装成一个model 24 DataModel model = new FileDataModel(new File("F:\\360Downloads\\超人学院\\第14期视频\\2016-09-12【mahout】\\样本数据\\info.csv")); 25 // 根据相似度找出对应的好朋友的标准 物以类聚,人以群分 26 UserSimilarity userSimilarity = new PearsonCorrelationSimilarity(model); 27 // 邻域 选择两个好朋友帮我推荐 28 UserNeighborhood userNeighborhood = new NearestNUserNeighborhood(2,userSimilarity, model); 29 // 构建推荐引擎 30 Recommender recommender = new GenericUserBasedRecommender(model,userNeighborhood, userSimilarity); 31 // 进行推荐 32 List<RecommendedItem> recommend = recommender.recommend(1, 5); 33 for (RecommendedItem item : recommend) { 34 logger.info(item); 35 } 36 } catch (Exception e) { 37 logger.error(e.getMessage()); 38 } 39 } 40 }