Example usage for org.apache.mahout.cf.taste.impl.model.file FileDataModel FileDataModel

List of usage examples for org.apache.mahout.cf.taste.impl.model.file FileDataModel FileDataModel

Introduction

In this page you can find the example usage for org.apache.mahout.cf.taste.impl.model.file FileDataModel FileDataModel.

Prototype

public FileDataModel(File dataFile, String delimiterRegex) throws IOException 

Source Link

Usage

From source file:be.ugent.tiwi.sleroux.newsrec.newsreccollaborativefiltering.MahoutTermRecommender.java

public Map<Long, List<RecommendedItem>> makeRecommendations(int n) throws IOException, TasteException {

    DataModel model = new FileDataModel(new File(mahoutInputFile), ";");
    UserSimilarity similarity = new TanimotoCoefficientSimilarity(model);
    UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);
    Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);

    LongPrimitiveIterator it = model.getUserIDs();
    Map<Long, List<RecommendedItem>> output = new HashMap<>(model.getNumUsers());

    while (it.hasNext()) {
        long user = it.nextLong();
        List<RecommendedItem> items = recommender.recommend(user, n);
        output.put(user, items);//  w  w  w  .  j  a va  2s  . c  om
    }

    return output;
}

From source file:hr.fer.tel.rovkp.lab03.HybridMatrix.java

public static void main(String[] args) throws IOException, TasteException {
    DataModel model = new FileDataModel(new File("./src/main/resources/jester_ratings.dat"), ",");

    ItemSimilarity lSim = new FileItemSimilarity(new File("./src/main/resources/item_similarity.csv"));

    CollaborativeItemSimilarity cSim = new CollaborativeItemSimilarity(model);

    double factor = 0.5;

    try (PrintWriter writer = new PrintWriter(new FileWriter(hybridPath))) {
        for (int i = 1; i <= 150; i++) {
            for (int j = i + 1; j <= 150; j++)
                try {
                    double sim = factor * lSim.itemSimilarity(i, j) + (1 - factor) * cSim.itemSimilarity(i, j);
                    if (!Double.isNaN(sim))
                        writer.println(i + "," + j + "," + sim);
                } catch (Exception ex) {
                }//w  ww.  j av  a 2s.c om
        }
    }
}

From source file:hr.fer.tel.rovkp.lab03.HybridRecommenderEvaluator.java

public static void main(String[] args) throws IOException, TasteException {
    DataModel model = new FileDataModel(new File("./src/main/resources/jester_ratings.dat"), ",");
    System.out.println(new RMSRecommenderEvaluator().evaluate(hybridRecommender(), null, model, 0.7, 1.0));
}