mahout實現基于用戶的Mahout推薦程序
/** 這里做的是一個基于用戶的Mahout推薦程序 * 這里利用已經準備好的數據。 * */ package byuser; import java.io.File; import java.io.IOException; import java.util.List; import org.apache.mahout.cf.taste.common.TasteException; 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.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 RecommenderIntro { public static void main(String[] args) { // TODO Auto-generated method stub try { //進行數據的裝載 DataModel model = new FileDataModel(new File("E:\\mahout項目\\examples\\intro.csv")); UserSimilarity similarity = new org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity(model); UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model); //生成推薦引擎 Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); //為用戶已推薦一件商品recommend( , );其中參數的意思是:第幾個人,然后推薦幾件商品 List<RecommendedItem> recommendations = recommender.recommend(1, 1); for(RecommendedItem recommendation : recommendations){ System.out.println("根據您的瀏覽,為您推薦的商品是:" + recommendation); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TasteException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } </pre>
本文由用戶 bgn4 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!