List of usage examples for org.apache.mahout.cf.taste.impl.recommender CachingRecommender recommend
@Override public List<RecommendedItem> recommend(long userID, int howMany) throws TasteException
From source file:com.packtpub.mahout.cookbook.chapter01.App.java
License:Apache License
public static void main(String[] args) throws IOException, TasteException, OptionException { CreateCsvRatingsFile();/*from w w w . j a v a 2s . c o m*/ // create data source (model) - from the csv file File ratingsFile = new File(outputFile); DataModel model = new FileDataModel(ratingsFile); // create a simple recommender on our data CachingRecommender cachingRecommender = new CachingRecommender(new SlopeOneRecommender(model)); // for all users for (LongPrimitiveIterator it = model.getUserIDs(); it.hasNext();) { long userId = it.nextLong(); // get the recommendations for the user List<RecommendedItem> recommendations = cachingRecommender.recommend(userId, 10); // if empty write something if (recommendations.size() == 0) { System.out.print("User "); System.out.print(userId); System.out.println(": no recommendations"); } // print the list of recommendations for each for (RecommendedItem recommendedItem : recommendations) { System.out.print("User "); System.out.print(userId); System.out.print(": "); System.out.println(recommendedItem); } } }
From source file:recommender.RecommenderSamples.java
License:Open Source License
public List recommendUsers(int idUser) { List recommendationList = new ArrayList(); try {//w w w . j a v a 2 s.c o m File ratingsFile = new File(DBManager.Table.USER_RATINGS.getTemporalFile()); DataModel model = new FileDataModel(ratingsFile); // create a simple recommender on our data CachingRecommender cachingRecommender = new CachingRecommender(new SlopeOneRecommender(model)); // get the recommendations for the user List<RecommendedItem> recommendations = cachingRecommender.recommend(idUser, 8); // print the list of recommendations for each for (RecommendedItem recommendedItem : recommendations) recommendationList.add(recommendedItem.getItemID()); } catch (TasteException | IOException ex) { Logger.getLogger(RecommenderSamples.class.getName()).log(Level.SEVERE, null, ex); } return recommendationList; }