mahout入门

来源:互联网 发布:万能网络监控客户端 编辑:程序博客网 时间:2024/06/05 06:47
package com.test;import java.io.File;import java.io.IOException;import org.apache.mahout.cf.taste.common.TasteException;import org.apache.mahout.cf.taste.eval.RecommenderBuilder;import org.apache.mahout.cf.taste.eval.RecommenderEvaluator;import org.apache.mahout.cf.taste.impl.eval.AverageAbsoluteDifferenceRecommenderEvaluator;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.neighborhood.ThresholdUserNeighborhood;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.recommender.UserBasedRecommender;import org.apache.mahout.cf.taste.similarity.UserSimilarity;public class M {            public static void main(String[] args) throws IOException, TasteException {//                        DataModel dataModel = new FileDataModel(new File("/home/xxx/work/mashout/data.csv"));//                        UserSimilarity similarity = new PearsonCorrelationSimilarity(dataModel);//                        UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, dataModel);//                        Recommender recommender = new GenericUserBasedRecommender(dataModel, neighborhood, similarity);//                        java.util.List<RecommendedItem> recommenderList = recommender.recommend(1, 2);//                        for (RecommendedItem recommendedItem : recommenderList) {//                                    System.out.println(recommendedItem);//                        }//                        DataModel model = new FileDataModel(new File("/home/xxx/work/mashout/d.csv"));//                        UserSimilarity similarity = new PearsonCorrelationSimilarity(model);//                        UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model);//                        UserBasedRecommender recommenderx = new GenericUserBasedRecommender(model, neighborhood, similarity);//                        java.util.List<RecommendedItem> recommendations = recommenderx.recommend(2, 3);//                        for (RecommendedItem recommendation : recommendations) {//                                    System.out.println(recommendation);//                        }                         DataModel model = new FileDataModel(new File("/home/xxx/work/mashout/data.csv"));                        UserSimilarity similarity = new PearsonCorrelationSimilarity(model);                        UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);                        Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);                        java.util.List<RecommendedItem> recommendations = recommender.recommend(1, 2);                        for (RecommendedItem recommendation : recommendations) {                                    System.out.println(recommendation);                        }            }}


d.csv

1,10,1.01,11,2.01,12,5.01,13,5.01,14,5.01,15,4.01,16,5.01,17,1.01,18,5.02,10,1.02,11,2.02,15,5.02,16,4.52,17,1.02,18,5.03,11,2.53,12,4.53,13,4.03,14,3.03,15,3.53,16,4.53,17,4.03,18,5.04,10,5.04,11,5.04,12,5.04,13,0.04,14,2.04,15,3.04,16,1.04,17,4.04,18,1.0

data.csv

1,101,51,102,31,103,2.52,101,22,102,2.52,103,52,104,23,101,2.53,104,43,105,4.53,107,54,101,54,103,34,104,4.54,106,45,101,45,102,35,103,25,104,45,105,3.55,106,4


0 0
原创粉丝点击