Example usage for org.apache.mahout.cf.taste.impl.recommender CachingRecommender recommend

List of usage examples for org.apache.mahout.cf.taste.impl.recommender CachingRecommender recommend

Introduction

In this page you can find the example usage for org.apache.mahout.cf.taste.impl.recommender CachingRecommender recommend.

Prototype

@Override
    public List<RecommendedItem> recommend(long userID, int howMany) throws TasteException 

Source Link

Usage

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;
}