List of usage examples for org.apache.mahout.cf.taste.eval RecommenderEvaluator evaluate
double evaluate(RecommenderBuilder recommenderBuilder, DataModelBuilder dataModelBuilder, DataModel dataModel, double trainingPercentage, double evaluationPercentage) throws TasteException;
Evaluates the quality of a org.apache.mahout.cf.taste.recommender.Recommender 's recommendations.
From source file:com.corchado.testRecomender.evaluarRecomendadorUI.java
private void Evaluar() { try {/*from w w w .ja v a2 s.c om*/ 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();/*from w ww. j a v a 2 s. c om*/ 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:de.tuberlin.dima.recsys.ssnmm.interactioncut.Evaluate.java
License:Apache License
static void runEvaluation(DataModel interactions, int k, double lambda2, double lambda3, double trainingPercentage, int numRuns, int minP, int maxP, int pStepSize) throws IOException, TasteException { RecommenderEvaluator maeEvaluator = new AverageAbsoluteDifferenceRecommenderEvaluator(); List<Errors> errors = Lists.newArrayList(); for (int maxPrefsPerUser = minP; maxPrefsPerUser <= maxP; maxPrefsPerUser += pStepSize) { Errors error = new Errors(maxPrefsPerUser); for (int n = 0; n < numRuns; n++) { double maeSampled = maeEvaluator.evaluate(new BiasedRecommenderBuilder(lambda2, lambda3, k), new InteractionCutDataModelBuilder(maxPrefsPerUser), interactions, trainingPercentage, 1 - trainingPercentage); error.record(0, maeSampled); }// w w w . ja va 2 s .co m errors.add(error); } for (Errors res : errors) { System.out.println(res); } }
From source file:hr.fer.tel.rovkp.homework03.task02.ItemBasedRecommenderEvaluator.java
public static void main(String[] args) throws Exception { RandomUtils.useTestSeed();//w w w . j a v a 2s . c o m String fileItemsSimilarity = "./src/main/resources/item_similarity.csv"; String fileDataModel = "./src/main/resources/jester_ratings_small.dat"; DataModel model = new FileDataModel(new File(fileDataModel)); RecommenderBuilder builder = (DataModel m) -> RecommenderUtils.itemBasedRecommender(m, fileItemsSimilarity); RecommenderEvaluator recEvaluator = new RMSRecommenderEvaluator(); double score = recEvaluator.evaluate(builder, null, model, 0.7, 1.0); System.out.println(score); }
From source file:hr.fer.tel.rovkp.homework03.task02.UserBasedRecommenderEvaluator.java
public static void main(String[] args) throws Exception { RandomUtils.useTestSeed();//from w w w . jav a 2 s .c o m String fileDataModel = "./src/main/resources/jester_ratings.dat"; DataModel model = new FileDataModel(new File(fileDataModel)); RecommenderBuilder builder = (DataModel m) -> RecommenderUtils.userBasedRecommender(m); RecommenderEvaluator recEvaluator = new RMSRecommenderEvaluator(); double score = recEvaluator.evaluate(builder, null, model, 0.7, 1.0); System.out.println(score); }
From source file:lsdr.user.based.recommender.intro.trivial.EvaluatorIntro.java
License:Open Source License
public Double evaluate() throws TasteException { RandomUtils.useTestSeed();//from w w w .j a v a 2s .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: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// ww w.jav a 2 s. c o m 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.client.tools.ZieOokEvaluatorTest.java
License:Apache License
/** * 3x userbased using: AverageAbsoluteDifferenceRecommenderEvaluator */// www .j a va2s . c om @Test @Ignore public void evaluate1() { // UserBasedRecommenderBuilder // AverageAbsoluteDifferenceRecommenderEvaluator try { DataModel model = createDataModel(input); RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator(); double evaluation = evaluator.evaluate( new UserBasedRecommenderBuilder(EuclideanDistanceSimilarity.class.getCanonicalName()), null, model, 0.9, 1.0); LOG.info("result: " + evaluation); writetofile("EuclideanDistanceSimilarity,AverageAbsoluteDifferenceRecommenderEvaluator," + evaluation + "\n"); evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator(); evaluation = evaluator.evaluate( new UserBasedRecommenderBuilder(PearsonCorrelationSimilarity.class.getCanonicalName()), null, model, 0.9, 1.0); LOG.info("result: " + evaluation); writetofile("PearsonCorrelationSimilarity,AverageAbsoluteDifferenceRecommenderEvaluator," + evaluation + "\n"); evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator(); evaluation = evaluator.evaluate( new UserBasedRecommenderBuilder(UncenteredCosineSimilarity.class.getCanonicalName()), null, model, 0.9, 1.0); LOG.info("result: " + evaluation); writetofile("UncenteredCosineSimilarity,AverageAbsoluteDifferenceRecommenderEvaluator," + evaluation + "\n"); } catch (TasteException e) { LOG.error("faild evaulate", e); fail(); } }
From source file:nl.gridline.zieook.client.tools.ZieOokEvaluatorTest.java
License:Apache License
/** * 3x userbased using RMSRecommenderEvaluator */// www .ja v a2 s. c o m @Test @Ignore public void evaulate2() { // UserBasedRecommenderBuilder // RMSRecommenderEvaluator try { DataModel model = createDataModel(input); RecommenderEvaluator evaluator = new RMSRecommenderEvaluator(); double evaluation = evaluator.evaluate( new UserBasedRecommenderBuilder(EuclideanDistanceSimilarity.class.getCanonicalName()), null, model, 0.9, 1.0); LOG.info("result: " + evaluation); writetofile("UserBasedRecommenderBuilder,EuclideanDistanceSimilarity,RMSRecommenderEvaluator," + evaluation + "\n"); evaluator = new RMSRecommenderEvaluator(); evaluation = evaluator.evaluate( new UserBasedRecommenderBuilder(PearsonCorrelationSimilarity.class.getCanonicalName()), null, model, 0.9, 1.0); LOG.info("result: " + evaluation); writetofile("UserBasedRecommenderBuilder,PearsonCorrelationSimilarity,RMSRecommenderEvaluator," + evaluation + "\n"); evaluator = new RMSRecommenderEvaluator(); evaluation = evaluator.evaluate( new UserBasedRecommenderBuilder(UncenteredCosineSimilarity.class.getCanonicalName()), null, model, 0.9, 1.0); LOG.info("result: " + evaluation); writetofile("UserBasedRecommenderBuilder,UncenteredCosineSimilarity,RMSRecommenderEvaluator," + evaluation + "\n"); } catch (TasteException e) { LOG.error("faild evaulate", e); fail(); } }
From source file:nl.gridline.zieook.client.tools.ZieOokEvaluatorTest.java
License:Apache License
@Test @Ignore//from ww w . jav a 2s. c o m public void evaluate3() { // ItemBasedRecommenderBuilder // RMSRecommenderEvaluator try { DataModel model = createDataModel(input); RecommenderEvaluator evaluator = new RMSRecommenderEvaluator(); double evaluation = evaluator.evaluate( new ItemBasedRecommenderBuilder(EuclideanDistanceSimilarity.class.getCanonicalName()), null, model, 0.9, 1.0); LOG.info("result: " + evaluation); writetofile( "ItemBasedRecommenderBuilder,EuclideanDistanceSimilarity,AverageAbsoluteDifferenceRecommenderEvaluator," + evaluation + "\n"); evaluator = new RMSRecommenderEvaluator(); evaluation = evaluator.evaluate( new ItemBasedRecommenderBuilder(PearsonCorrelationSimilarity.class.getCanonicalName()), null, model, 0.9, 1.0); LOG.info("result: " + evaluation); writetofile( "ItemBasedRecommenderBuilder,PearsonCorrelationSimilarity,AverageAbsoluteDifferenceRecommenderEvaluator," + evaluation + "\n"); evaluator = new RMSRecommenderEvaluator(); evaluation = evaluator.evaluate( new ItemBasedRecommenderBuilder(UncenteredCosineSimilarity.class.getCanonicalName()), null, model, 0.9, 1.0); LOG.info("result: " + evaluation); writetofile( "ItemBasedRecommenderBuilder,UncenteredCosineSimilarity,AverageAbsoluteDifferenceRecommenderEvaluator," + evaluation + "\n"); } catch (TasteException e) { LOG.error("faild evaulate", e); fail(); } }