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

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

Introduction

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

Prototype

public CachingRecommender(Recommender recommender) throws TasteException 

Source Link

Usage

From source file:com.aguin.stock.recommender.StockRecommender.java

License:Apache License

public static void main(String... args) throws FileNotFoundException, TasteException, IOException {

    MongoDBDataModel model = new MongoDBDataModel("localhost", ServerAddress.defaultPort(), "userdb", "prefs",
            true, true, null);//from w  ww  .j a  v  a 2s . c o m
    // create a slope one recommender on the data
    CachingRecommender slopeOneRecommender = new CachingRecommender(new SlopeOneRecommender(model));
    run(model, slopeOneRecommender);
}

From source file:com.mycompany.xplor_recommendation_engine.Xplor.java

/**
 * @param args the command line arguments
 * @throws java.sql.SQLException//from w  w  w.jav a  2 s  . com
 * @throws java.io.IOException
 */
public static void main(String[] args) throws SQLException, IOException, TasteException {

    FileConverter fc = FileConverter.getFileConverter();
    int[] columnSpecs = new int[2];
    columnSpecs[0] = 2;
    columnSpecs[1] = 2;
    fc.convertToCSV("xplor_development", "blog_profile_maps", columnSpecs);

    // Calibrate recommender for csv file
    DataModel model = new FileDataModel(new File("blog_profile_maps.csv"));
    UserSimilarity similarity = new TanimotoCoefficientSimilarity(model);
    UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model);
    Recommender recommender = new GenericBooleanPrefUserBasedRecommender(model, neighborhood, similarity);
    Recommender cachingRecommender = new CachingRecommender(recommender);

    // Establish JDBC connection

    for (int i = 1; i <= model.getNumUsers(); i++) {
        List<RecommendedItem> recommendations = cachingRecommender.recommend(i, 10);
        for (RecommendedItem recommendation : recommendations) {
            // Store recommendations in recommendations table
        }
    }

    // Store recommendations in database
}

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  av  a 2  s .  c  om

    // 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:com.unresyst.DealRecommender.java

License:Apache License

public DealRecommender() throws IOException, TasteException, InterruptedException {
    // run pg:ingress to open up hole in Heroku firewall
    // according to Heroku documentation, connections made through this hole
    // will remain open after the hole closes (60 seconds)
    runCommand("source \"$HOME/.rvm/scripts/rvm\"", "rvm use ree-1.8.7-head@deallist-backend > /dev/null",
            "heroku pg:ingress --app rewardsnap-ds-production");

    PGPoolingDataSource source = new PGPoolingDataSource();
    source.setServerName("ec2-174-129-209-243.compute-1.amazonaws.com");
    source.setDatabaseName("ds20669xa45e2uv");
    source.setUser("uq88n3pavsbyot");
    source.setPassword("p8tj3rn061zvbthpc9e7nfbxv0");

    PostgreSQLJDBCDataModel model = new PostgreSQLJDBCDataModel(source, "ratings", "user_id", "deal_id",
            "rating", "created_at");
    recommender = new CachingRecommender(new SlopeOneRecommender(model));
}

From source file:com.unresyst.GroupLensRecommender.java

License:Apache License

public GroupLensRecommender(String filename) throws IOException, TasteException {
    System.out.println("in GroupLensRecommender constructor part II");
    DataModel dataModel = new FileDataModel(new File(filename));
    recommender = new CachingRecommender(new SlopeOneRecommender(dataModel));
}

From source file:edu.uci.ics.sourcerer.ml.ApiRecommender.java

License:Open Source License

public ApiRecommender(DataModel bcModel) throws TasteException {

    //      UserSimilarity similarity = new EuclideanDistanceSimilarity(bcModel,Weighting.WEIGHTED);
    //      UserSimilarity similarity = new LogLikelihoodSimilarity(bcModel);
    //UserSimilarity similarity = new PearsonCorrelationSimilarity(bcModel);

    UserSimilarity similarity = new TanimotoCoefficientSimilarity(bcModel);

    //      UserSimilarity similarity = new MySqlTanimotoCoefficientUserSimilarity(
    //            ManualPoolingMysqlDataSourceFactory.getDataSource(
    //                  "jdbc:mysql://mondego.calit2.uci.edu:3307/sourcerer_test", 
    //                  "sourcerer", 
    //                  "")); 

    //      UserSimilarity similarity = new HammingDistanceSimilarity(bcModel);

    UserNeighborhood neighborhood = new NearestNUserNeighborhood(15, 0.4, similarity, bcModel, 1.0);
    recommender = new CachingRecommender(new GenericUserBasedRecommender(bcModel, neighborhood, similarity));
}

From source file:recommender.RecommenderSamples.java

License:Open Source License

public List recommendUsers(int idUser) {
    List recommendationList = new ArrayList();

    try {/* w  w  w.ja va  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;
}