List of usage examples for org.apache.mahout.cf.taste.eval RecommenderBuilder RecommenderBuilder
RecommenderBuilder
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); }