mahout實現基于用戶的Mahout推薦程序

bgn4 9年前發布 | 8K 次閱讀 Java 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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!