Example usage for org.apache.mahout.cf.taste.eval RecommenderBuilder RecommenderBuilder

List of usage examples for org.apache.mahout.cf.taste.eval RecommenderBuilder RecommenderBuilder

Introduction

In this page you can find the example usage for org.apache.mahout.cf.taste.eval RecommenderBuilder RecommenderBuilder.

Prototype

RecommenderBuilder

Source Link

Usage

From source file:com.corchado.testRecomender.evaluarPrecionRecallUI.java

private void calcularPrecicionRecall() {
    try {/*from ww w. ja  v a  2s.com*/

        RandomUtils.useTestSeed();
        RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator();
        RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
            @Override
            public Recommender buildRecommender(DataModel model) throws TasteException {
                UserNeighborhood neighborhood = new NearestNUserNeighborhood(CantVecindad, similarity, model);
                return new GenericUserBasedRecommender(model, neighborhood, similarity);
            }
        };
        IRStatistics stats = evaluator.evaluate(recommenderBuilder, null, model, null, 2,
                GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0);

        labelPrecicion.setText("Precisin: " + stats.getPrecision());
        labelRecal.setText("Recall: " + stats.getRecall());

    } catch (TasteException ex) {
        Logger.getLogger(evaluarPrecionRecallUI.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:com.corchado.testRecomender.evaluarRecomendadorUI.java

private void Evaluar() {
    try {//from www . j  av  a2 s .  c o m

        RandomUtils.useTestSeed();
        RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
        RecommenderBuilder builder = new RecommenderBuilder() {
            @Override
            public Recommender buildRecommender(DataModel model) throws TasteException {

                //                UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
                UserNeighborhood neighborhood = new NearestNUserNeighborhood(CantVecindad, similarity, model);

                return new GenericUserBasedRecommender(model, neighborhood, similarity);
            }
        };

        double score = evaluator.evaluate(builder, null, model, 0.7, 1.0);
        labelEvaluacion.setText("Evaluacin: " + score);
    } catch (TasteException ex) {
        Logger.getLogger(evaluarRecomendadorUI.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:com.corchado.testRecomender.recomendador.java

public static void Probar(final Scanner entrada, DataModel model, final UserSimilarity similarity)
        throws IOException, TasteException {
    RandomUtils.useTestSeed();// w ww .j  a va2  s  .co  m
    RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
    RecommenderBuilder builder = new RecommenderBuilder() {
        @Override
        public Recommender buildRecommender(DataModel model) throws TasteException {

            //                UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
            UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);

            return new GenericUserBasedRecommender(model, neighborhood, similarity);
        }
    };

    double score = evaluator.evaluate(builder, null, model, 0.7, 1.0);
    System.out.println("evaluacion: " + score);
}

From source file:com.corchado.testRecomender.recomendador.java

public static void evaluarPrecicionRecall(final Scanner entrada, DataModel model,
        final UserSimilarity similarity) throws IOException, TasteException {
    RandomUtils.useTestSeed();/*from  ww w. java2 s .  com*/
    RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator();
    RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
        @Override
        public Recommender buildRecommender(DataModel model) throws TasteException {
            UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);
            return new GenericUserBasedRecommender(model, neighborhood, similarity);
        }
    };
    IRStatistics stats = evaluator.evaluate(recommenderBuilder, null, model, null, 2,
            GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0);

    System.out.println("Precision: " + stats.getPrecision());
    System.out.println("Recal: " + stats.getRecall());
}

From source file:edu.uci.ics.sourcerer.ml.db.tools.RecommenderEvaluatorTest.java

License:Open Source License

public void testEvaluate() throws Exception {
    DataModel model = getDataModel();// www .j  a v  a  2 s. co  m

    RecommenderBuilder builder = new RecommenderBuilder() {
        @Override
        public Recommender buildRecommender(DataModel dataModel) throws TasteException {

            // return new SlopeOneRecommender(dataModel);

            // return new SVDRecommender(dataModel, 25, 100);

            //return new RandomRecommender(dataModel);

            return new ApiRecommender(dataModel);

            //            return new TreeClusteringRecommender(
            //                  dataModel,
            //                  new NearestNeighborClusterSimilarity(
            //                        //UserSimilarity similarity = new EuclideanDistanceSimilarity(bcModel,Weighting.WEIGHTED);
            //                        //UserSimilarity similarity = new LogLikelihoodSimilarity(bcModel);
            //                        //UserSimilarity similarity = new PearsonCorrelationSimilarity(bcModel);
            //                        new TanimotoCoefficientSimilarity(dataModel)      
            //                  ),
            //                  0.5);
        }
    };

    RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator();
    IRStatistics stats = evaluator.evaluate(builder, null, model, null, 5, 1.0, 1.0);

    System.out.println(stats.getPrecision() + ", " + stats.getRecall() + ", " + stats.getF1Measure());

    //      assertEquals(0.75, stats.getPrecision(), EPSILON);
    //      assertEquals(0.75, stats.getRecall(), EPSILON);
    //      assertEquals(0.75, stats.getF1Measure(), EPSILON);
}

From source file:edu.uniandes.yelp.recommender.CFRecommender.java

public void evaluate() {
    try {/*from w  w w. j ava  2  s  . c om*/
        System.out.println("Iniciando evaluacion");
        RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator();
        System.out.println("Creando constructor");
        RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
            @Override
            public Recommender buildRecommender(DataModel model) throws TasteException {
                ItemSimilarity is = new PearsonCorrelationSimilarity(model);
                return new GenericItemBasedRecommender(model, is);
            }

        };
        System.out.println("Iniciando Evaluacion");
        IRStatistics stats = evaluator.evaluate(recommenderBuilder, null, dm, null, 2,
                GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0);
        System.out.println("Precision " + stats.getPrecision());
        System.out.println("Recall " + stats.getRecall());
    } catch (TasteException ex) {
        System.out.println("Boom!!! ");
        ex.printStackTrace();
    }
}

From source file:lsdr.user.based.recommender.intro.trivial.EvaluatorIntro.java

License:Open Source License

public Double evaluate() throws TasteException {
    RandomUtils.useTestSeed();/* w ww  .  j ava2 s . co  m*/

    RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();

    RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
        @Override
        public Recommender buildRecommender(DataModel model) throws TasteException {
            UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
            UserNeighborhood neighborhood = new NearestNUserNeighborhood(AMOUNT_OF_NEIGHBORS, similarity,
                    model);

            return new GenericUserBasedRecommender(model, neighborhood, similarity);
        }
    };
    //                                                                 70% as a training data
    double score = evaluator.evaluate(recommenderBuilder, null, model, 0.7, 1.0);

    return score;
}

From source file:lsdr.user.based.recommender.intro.trivial.IREvaluatorIntro.java

License:Open Source License

public IRStatistics evaluate() throws TasteException {
    RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator();
    RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
        @Override/*  w w w .jav  a  2  s.c om*/
        public Recommender buildRecommender(DataModel model) throws TasteException {
            // same as RecommenderIntro // TODO prepareRecommender?
            UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
            UserNeighborhood neighborhood = new NearestNUserNeighborhood(AMOUNT_OF_NEIGHBORS, similarity,
                    model);

            return new GenericUserBasedRecommender(model, neighborhood, similarity);
        }
    };
    IRStatistics stats = evaluator.evaluate(recommenderBuilder, null, model, null, 2,
            GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0);
    return stats;
}

From source file:net.aprendizajengrande.gitrecommender.Experiment.java

License:Open Source License

public static void main(String[] args) throws Exception {

    DataModel model = new FileDataModel(new File(args[0]));

    System.out.println("For repo: " + args[0]);
    System.out.println("User-based:");

    RecommenderEvaluator evaluator = new RMSRecommenderEvaluator();
    RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
        @Override/*from w  ww .  jav a 2s  .c om*/
        public Recommender buildRecommender(DataModel model) throws TasteException {
            UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
            UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);
            return new GenericUserBasedRecommender(model, neighborhood, similarity);
        }
    };
    // Use 90% of the data to train; test using the other 10%.
    double score = evaluator.evaluate(recommenderBuilder, null, model, 0.9, 1.0);
    System.out.println(score);

    recommenderBuilder = new RecommenderBuilder() {
        @Override
        public Recommender buildRecommender(DataModel model) throws TasteException {
            ItemSimilarity similarity = new EuclideanDistanceSimilarity(model);
            //new LogLikelihoodSimilarity(model);
            return new GenericItemBasedRecommender(model, similarity);
        }
    };
    System.out.println("Item-based:");
    score = evaluator.evaluate(recommenderBuilder, null, model, 0.9, 1.0);
    System.out.println(score);
}

From source file:nl.gridline.zieook.tasks.quality.MahoutEvaluatorTest.java

License:Apache License

@Test
public void testSanity() throws TasteException, IOException {
    RandomUtils.useTestSeed();//from   w ww .  j  a v  a2 s.  c  o m

    LOG.info("testing sanity on dummy data, result should be 1.0");

    DataModel model = new FileDataModel(new File("test-data-small/intro.csv"));
    AverageAbsoluteDifferenceRecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
    RecommenderBuilder builder = new RecommenderBuilder() {

        @Override
        public Recommender buildRecommender(DataModel model) throws TasteException {
            PearsonCorrelationSimilarity similarity = new PearsonCorrelationSimilarity(model);
            NearestNUserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);
            return new GenericUserBasedRecommender(model, neighborhood, similarity);
        }
    };

    final long start = System.currentTimeMillis();
    double score = evaluator.evaluate(builder, null, model, 0.7, 1.0);
    LOG.info("score: {} in {}ms", String.format("%.4f", score), (System.currentTimeMillis() - start));

    assertTrue(1.0 == score);

}