Mahout实战---运行第一个推荐引擎
生活随笔
收集整理的這篇文章主要介紹了
Mahout实战---运行第一个推荐引擎
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
創(chuàng)建輸入
創(chuàng)建intro.csv文件,內(nèi)容如下
1,101,5.0 1,102,3.0 1,103,2.52,101,2.0 2,102,2.5 2,103,5.0 2,104,2.03,101,2.5 3,104,4.0 3,105,4.5 3,107,5.04,101,5.0 4,103,3.0 4,104,4.5 4,106,4.05,101,4.0 5,102,3.0 5,103,2.0 5,104,4.0 5,105,3.5 5,106,4.0創(chuàng)建推薦程序
由于項(xiàng)目在eclipse下,所以先獲取項(xiàng)目額根目錄String projectDir = System.getProperty("user.dir");
package com.xxx;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.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;/*** 簡(jiǎn)單的使用皮爾遜相關(guān)系數(shù)進(jìn)行推薦* @author **/ public class RecommenderIntro {public static void main(String[] args) throws IOException, TasteException {String projectDir = System.getProperty("user.dir");DataModel model = new FileDataModel(new File(projectDir + "/src/main/intro.csv"));UserSimilarity similarity = new PearsonCorrelationSimilarity(model);UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);List<RecommendedItem> recommendedItems = recommender.recommend(1, 1);for (RecommendedItem recommendedItem : recommendedItems) {System.out.println(recommendedItem);}} }推薦程序的步驟是:1,輸入user-item矩陣數(shù)據(jù) 2,選擇合適的相似度計(jì)算方法(程序中使用的是皮爾遜相關(guān)系數(shù))3,構(gòu)造N最近鄰 ?4,根據(jù)鄰居產(chǎn)生推薦結(jié)果
對(duì)應(yīng)到mahout程序就是上述代碼中寫的。這個(gè)很簡(jiǎn)單,沒毛病,下面是運(yùn)行結(jié)果
?
轉(zhuǎn)載于:https://www.cnblogs.com/ljdblog/p/6211260.html
總結(jié)
以上是生活随笔為你收集整理的Mahout实战---运行第一个推荐引擎的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构与算法 Python语言描述 笔
- 下一篇: js call(),apply(),对