List of usage examples for org.apache.mahout.cf.taste.eval RecommenderIRStatsEvaluator evaluate
IRStatistics evaluate(RecommenderBuilder recommenderBuilder, DataModelBuilder dataModelBuilder, DataModel dataModel, IDRescorer rescorer, int at, double relevanceThreshold, double evaluationPercentage) throws TasteException;
From source file:com.corchado.testRecomender.evaluarPrecionRecallUI.java
private void calcularPrecicionRecall() { try {/*from w ww . j a 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.recomendador.java
public static void evaluarPrecicionRecall(final Scanner entrada, DataModel model, final UserSimilarity similarity) throws IOException, TasteException { RandomUtils.useTestSeed();/*w ww . j a v a 2 s . co m*/ 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();/*from w w w . j a va 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 {//w w w. j av a 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.IREvaluatorIntro.java
License:Open Source License
public IRStatistics evaluate() throws TasteException { RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator(); RecommenderBuilder recommenderBuilder = new RecommenderBuilder() { @Override/*from w w w . j a v a 2s . 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:nl.gridline.zieook.client.tools.ZieOokEvaluatorTest.java
License:Apache License
@Test public void evaluate5() { // RecommenderIRStatsEvaluator // ItemBasedRecommenderBuilder // TanimotoCoefficientSimilarity // IRStatistics stats = // evaluator.evaluate(builder, myModel, null, 3, // RecommenderIRStatusEvaluator.CHOOSE_THRESHOLD, // §1.0); try {/* ww w . ja va 2s .c om*/ DataModel model = createDataBooleanModel(input); RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator(); IRStatistics evaluation = evaluator.evaluate( new ItemBasedRecommenderBuilder(TanimotoCoefficientSimilarity.class.getCanonicalName()), new BooleanDataModelBuilder(), model, null, 3, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 0.9); LOG.info("result: " + evaluation); writetofile("ItemBasedRecommenderBuilder,TanimotoCoefficientSimilarity,RecommenderIRStatsEvaluator-F1," + evaluation.getF1Measure() + "\n"); // getFNMeasure // writetofile("ItemBasedRecommenderBuilder,EuclideanDistanceSimilarity,RecommenderIRStatsEvaluator-F1," // + evaluation.getFNMeasure(n) + "\n"); writetofile( "ItemBasedRecommenderBuilder,TanimotoCoefficientSimilarity,RecommenderIRStatsEvaluator-FallOut," + evaluation.getFallOut() + "\n"); writetofile( "ItemBasedRecommenderBuilder,TanimotoCoefficientSimilarity,RecommenderIRStatsEvaluator-precision," + evaluation.getPrecision() + "\n"); writetofile( "ItemBasedRecommenderBuilder,TanimotoCoefficientSimilarity,RecommenderIRStatsEvaluator-recall," + evaluation.getRecall() + "\n"); evaluator = new GenericRecommenderIRStatsEvaluator(); evaluation = evaluator.evaluate( new UserBasedRecommenderBuilder(TanimotoCoefficientSimilarity.class.getCanonicalName()), new BooleanDataModelBuilder(), model, null, 3, 3, 0.9); LOG.info("result: " + evaluation); writetofile("UserBasedRecommenderBuilder,TanimotoCoefficientSimilarity,RecommenderIRStatsEvaluator-F1," + evaluation.getF1Measure() + "\n"); // getFNMeasure // writetofile("ItemBasedRecommenderBuilder,EuclideanDistanceSimilarity,RecommenderIRStatsEvaluator-F1," // + evaluation.getFNMeasure(n) + "\n"); writetofile( "UserBasedRecommenderBuilder,TanimotoCoefficientSimilarity,RecommenderIRStatsEvaluator-FallOut," + evaluation.getFallOut() + "\n"); writetofile( "UserBasedRecommenderBuilder,TanimotoCoefficientSimilarity,RecommenderIRStatsEvaluator-precision," + evaluation.getPrecision() + "\n"); writetofile( "UserBasedRecommenderBuilder,TanimotoCoefficientSimilarity,RecommenderIRStatsEvaluator-recall," + evaluation.getRecall() + "\n"); } catch (TasteException e) { LOG.error("faild evaulate", e); fail(); } }
From source file:smartcityrecommender.Recommender.java
License:Open Source License
public static void evaluateRecommender() { try {// w ww.j a va2 s . c om RandomUtils.useTestSeed(); DataModel model = new MySQLJDBCDataModel(mysql_datasource, "assessment_new", "user_id", "item_id", "preference", "timestamp"); RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluatorCustom(); RecommenderBuilder recommenderBuilder = new MyRecommenderBuilder(); IRStatistics stats = evaluator.evaluate(recommenderBuilder, null, model, null, 10, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0); System.out.println("Precision: " + stats.getPrecision()); System.out.println("Recall: " + stats.getRecall()); } catch (TasteException ex) { Logger.getLogger(Recommender.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:tv.icntv.recommend.algorithm.test.RecommendFactory.java
License:Apache License
/** * statsEvaluator/*from w w w . j av a 2 s . com*/ */ public static void statsEvaluator(RecommenderBuilder rb, DataModelBuilder mb, DataModel m, int topn) throws TasteException { RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator(); IRStatistics stats = evaluator.evaluate(rb, mb, m, null, topn, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0); // System.out.printf("Recommender IR Evaluator: %s\n", stats); System.out.printf("Recommender IR Evaluator: [Precision:%s,Recall:%s]\n", stats.getPrecision(), stats.getRecall()); }