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

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

Introduction

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

Prototype

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

Source Link

Document

Default implementation which just calls Recommender#recommend(long,int,org.apache.mahout.cf.taste.recommender.IDRescorer) , with a org.apache.mahout.cf.taste.recommender.Rescorer that does nothing.

Usage

From source file:ItemRecommender.java

License:Apache License

/**
 * Creates a list of recommendations using item based collaborative filtering
 * //from  www.j a va2  s  .c om
 * @param model      a model containing information about users preferences for items. Fetched from "collaborative_view" in the database
 * @return         the list of recommendations made
 */
public ArrayList<CollaborativeRecommendation> RunItemRecommender(DataModel model) {

    ArrayList<CollaborativeRecommendation> recommendedItemsList = new ArrayList<CollaborativeRecommendation>();
    try {
        /* Returns the degree of similarity, of two items, based on the preferences that users have expressed for the items. */
        ItemSimilarity sim = new LogLikelihoodSimilarity(model);

        /* Given a datamodel and a similarity to produce the recommendations */
        GenericItemBasedRecommender recommender = new GenericItemBasedRecommender(model, sim);
        this.recommender = recommender;
        List<RecommendedItem> recommendations = recommender.recommend(this.userId, 167);

        /* Looping through all recommendations and putting up to 167 items in the collaborative recommender list*/
        if (!recommendations.isEmpty()) {
            for (RecommendedItem recommendation : recommendations) {
                recommendedItemsList
                        .add(new CollaborativeRecommendation(recommendation, (int) this.userId, "item"));
            }
        } else {
            /*There are no recommendations for this user*/
            System.out.println("No recommendations for this user in itembased");
        }

    } catch (TasteException e) {
        e.printStackTrace();
    }
    return recommendedItemsList;
}

From source file:recom.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from   w  ww .ja  va  2s .co  m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, TasteException {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {

        DataModel dm = new FileDataModel(new File("info/movies.csv"));
        ItemSimilarity us = new PearsonCorrelationSimilarity(dm);
        //UserNeighborhood neighborhood = new NearestNUserNeighborhood(25, us, dm);
        GenericItemBasedRecommender recommender = new GenericItemBasedRecommender(dm, us);

        List<RecommendedItem> recommendations = recommender.recommend(1, 5);

        /* TODO output your page here. You may use following sample code. */

        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet recom</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet recom at " + request.getContextPath() + "</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

From source file:hr.fer.tel.rovkp.homework03.task02.ItemBasedJokesRecommender.java

public static void main(String[] args) throws Exception {
    String fileItemsSimilarity = "./src/main/resources/item_similarity.csv";
    String fileDataModel = "./src/main/resources/jester_ratings.dat";

    DataModel model = new FileDataModel(new File(fileDataModel));
    GenericItemBasedRecommender recommender = RecommenderUtils.itemBasedRecommender(model, fileItemsSimilarity);

    List<RecommendedItem> recommendations = recommender.recommend(220, 10);
    for (RecommendedItem recommendation : recommendations) {
        System.out.println(recommendation);
    }/*from  w  w  w  .ja  va 2  s.  com*/

}

From source file:hr.fer.tel.rovkp.homework03.task02.Program.java

public static void main(String[] args) throws Exception {
    String fileItemsSimilarity = "./src/main/resources/item_similarity.csv";
    String fileDataModel = "./src/main/resources/jester_ratings.dat";

    DataModel model = new FileDataModel(new File(fileDataModel));
    GenericUserBasedRecommender userBased = RecommenderUtils.userBasedRecommender(model);
    GenericItemBasedRecommender itemBased = RecommenderUtils.itemBasedRecommender(model, fileItemsSimilarity);

    System.out.println("user based:");
    List<RecommendedItem> recommendationsU = userBased.recommend(220, 10);
    for (RecommendedItem recommendation : recommendationsU) {
        System.out.println(recommendation);
    }/* www  .  j a v  a 2s  .c o m*/

    System.out.println("item based:");
    List<RecommendedItem> recommendationsI = itemBased.recommend(220, 10);
    for (RecommendedItem recommendation : recommendationsI) {
        System.out.println(recommendation);
    }
}