List of usage examples for org.apache.mahout.cf.taste.impl.eval GenericRecommenderIRStatsEvaluator CHOOSE_THRESHOLD
double CHOOSE_THRESHOLD
To view the source code for org.apache.mahout.cf.taste.impl.eval GenericRecommenderIRStatsEvaluator CHOOSE_THRESHOLD.
Click Source Link
From source file:com.corchado.testRecomender.evaluarPrecionRecallUI.java
private void calcularPrecicionRecall() { try {/*from w w w . j a va2 s . c o m*/ 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();/*from w ww . j a va 2 s. c om*/ 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.uniandes.yelp.recommender.CFRecommender.java
public void evaluate() { try {/*from w ww.jav a 2s . c o m*/ 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 . jav a2s.c o m*/ 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 {/*from w ww .j a va 2 s . 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:nl.gridline.zieook.tasks.quality.MahoutEvaluatorTest.java
License:Apache License
@Test public void testRandom() throws IOException, TasteException { RandomUtils.useTestSeed();/*from ww w .ja v a2s .c o m*/ LOG.info("testing Random:"); DataModel model = new FileDataModel(testData); GenericRecommenderIRStatsEvaluator evaluatorIR = new GenericRecommenderIRStatsEvaluator(); AverageAbsoluteDifferenceRecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator(); RMSRecommenderEvaluator rmsEvaluator = new RMSRecommenderEvaluator(); RecommenderBuilder builder = new RecommenderBuilder() { @Override public Recommender buildRecommender(DataModel model) throws TasteException { return new RandomRecommender(model); } }; long start = System.currentTimeMillis(); double score = evaluator.evaluate(builder, null, model, 0.7, 1.0); LOG.info("score: {} in {}s", String.format("%.4f", score), ((System.currentTimeMillis() - start) / 1000)); start = System.currentTimeMillis(); score = rmsEvaluator.evaluate(builder, null, model, 0.7, 1.0); LOG.info("rms score: {} in {}s", String.format("%.4f", score), ((System.currentTimeMillis() - start) / 1000)); start = System.currentTimeMillis(); IRStatistics stats = evaluatorIR.evaluate(builder, null, model, null, 2, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0); LOG.info("precision: {} recall: {} in {}s", new Object[] { String.format("%.4f", stats.getPrecision()), String.format("%.4f", stats.getRecall()), ((System.currentTimeMillis() - start) / 1000) }); }
From source file:nl.gridline.zieook.tasks.quality.MahoutEvaluatorTest.java
License:Apache License
@Test public void testPearsonCorrelationSimilarity() throws IOException, TasteException { RandomUtils.useTestSeed();/*from ww w. j a va 2 s . c om*/ LOG.info("testing PearsonCorrelationSimilarity: "); DataModel model = new FileDataModel(testData); AverageAbsoluteDifferenceRecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator(); RMSRecommenderEvaluator rmsEvaluator = new RMSRecommenderEvaluator(); GenericRecommenderIRStatsEvaluator evaluatorIR = new GenericRecommenderIRStatsEvaluator(); RecommenderBuilder builder = new RecommenderBuilder() { @Override public Recommender buildRecommender(DataModel model) throws TasteException { PearsonCorrelationSimilarity similarity = new PearsonCorrelationSimilarity(model); UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model); return new GenericUserBasedRecommender(model, neighborhood, similarity); } }; long start = System.currentTimeMillis(); double score = evaluator.evaluate(builder, null, model, 0.7, 1.0); LOG.info("score: {} in {}s", String.format("%.4f", score), ((System.currentTimeMillis() - start) / 1000)); start = System.currentTimeMillis(); score = rmsEvaluator.evaluate(builder, null, model, 0.7, 1.0); LOG.info("rms score: {} in {}s", String.format("%.4f", score), ((System.currentTimeMillis() - start) / 1000)); start = System.currentTimeMillis(); IRStatistics stats = evaluatorIR.evaluate(builder, null, model, null, 2, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0); LOG.info("precision: {} recall: {} in {}s", new Object[] { String.format("%.4f", stats.getPrecision()), String.format("%.4f", stats.getRecall()), ((System.currentTimeMillis() - start) / 1000) }); }
From source file:nl.gridline.zieook.tasks.quality.MahoutEvaluatorTest.java
License:Apache License
@Test public void testTanimotoCoefficientSimilarity() throws TasteException, IOException { RandomUtils.useTestSeed();// w w w . j a va 2 s . co m LOG.info("testing: TanimotoCoefficientSimilarity:"); DataModel model = new FileDataModel(testData); AverageAbsoluteDifferenceRecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator(); RMSRecommenderEvaluator rmsEvaluator = new RMSRecommenderEvaluator(); GenericRecommenderIRStatsEvaluator evaluatorIR = new GenericRecommenderIRStatsEvaluator(); RecommenderBuilder builder = new RecommenderBuilder() { @Override public Recommender buildRecommender(DataModel model) throws TasteException { TanimotoCoefficientSimilarity similarity = new TanimotoCoefficientSimilarity(model); UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model); return new GenericUserBasedRecommender(model, neighborhood, similarity); } }; long start = System.currentTimeMillis(); double score = evaluator.evaluate(builder, null, model, 0.7, 1.0); LOG.info("average score: {} in {}s", String.format("%.4f", score), ((System.currentTimeMillis() - start) / 1000)); start = System.currentTimeMillis(); score = rmsEvaluator.evaluate(builder, null, model, 0.7, 1.0); LOG.info("rms score: {} in {}s", String.format("%.4f", score), ((System.currentTimeMillis() - start) / 1000)); start = System.currentTimeMillis(); IRStatistics stats = evaluatorIR.evaluate(builder, null, model, null, 2, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0); LOG.info("precision: {} recall: {} in {}s", new Object[] { String.format("%.4f", stats.getPrecision()), String.format("%.4f", stats.getRecall()), ((System.currentTimeMillis() - start) / 1000) }); }
From source file:nl.gridline.zieook.tasks.quality.MahoutEvaluatorTest.java
License:Apache License
@Test public void testUncenteredCosineSimilarity() throws TasteException, IOException { RandomUtils.useTestSeed();/*from w w w . ja va 2 s . com*/ LOG.info("testing: UncenteredCosineSimilarity:"); DataModel model = new FileDataModel(testData); AverageAbsoluteDifferenceRecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator(); RMSRecommenderEvaluator rmsEvaluator = new RMSRecommenderEvaluator(); GenericRecommenderIRStatsEvaluator evaluatorIR = new GenericRecommenderIRStatsEvaluator(); RecommenderBuilder builder = new RecommenderBuilder() { @Override public Recommender buildRecommender(DataModel model) throws TasteException { UncenteredCosineSimilarity similarity = new UncenteredCosineSimilarity(model); UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model); return new GenericUserBasedRecommender(model, neighborhood, similarity); } }; long start = System.currentTimeMillis(); double score = evaluator.evaluate(builder, null, model, 0.7, 1.0); LOG.info("average score: {} in {}s", String.format("%.4f", score), ((System.currentTimeMillis() - start) / 1000)); start = System.currentTimeMillis(); score = rmsEvaluator.evaluate(builder, null, model, 0.7, 1.0); LOG.info("rms score: {} in {}s", String.format("%.4f", score), ((System.currentTimeMillis() - start) / 1000)); start = System.currentTimeMillis(); IRStatistics stats = evaluatorIR.evaluate(builder, null, model, null, 2, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0); LOG.info("precision: {} recall: {} in {}s", new Object[] { String.format("%.4f", stats.getPrecision()), String.format("%.4f", stats.getRecall()), ((System.currentTimeMillis() - start) / 1000) }); }
From source file:nl.gridline.zieook.tasks.quality.MahoutEvaluatorTest.java
License:Apache License
@Test public void testCityBlockSimilarity() throws TasteException, IOException { RandomUtils.useTestSeed();// ww w . ja va 2 s .c om LOG.info("testing CityBlockSimilarity:"); DataModel model = new FileDataModel(testData); AverageAbsoluteDifferenceRecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator(); RMSRecommenderEvaluator rmsEvaluator = new RMSRecommenderEvaluator(); GenericRecommenderIRStatsEvaluator evaluatorIR = new GenericRecommenderIRStatsEvaluator(); RecommenderBuilder builder = new RecommenderBuilder() { @Override public Recommender buildRecommender(DataModel model) throws TasteException { CityBlockSimilarity similarity = new CityBlockSimilarity(model); UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model); return new GenericUserBasedRecommender(model, neighborhood, similarity); } }; long start = System.currentTimeMillis(); double score = evaluator.evaluate(builder, null, model, 0.7, 1.0); LOG.info("average score: {} in {}s", String.format("%.4f", score), ((System.currentTimeMillis() - start) / 1000)); start = System.currentTimeMillis(); score = rmsEvaluator.evaluate(builder, null, model, 0.7, 1.0); LOG.info("rms score: {} in {}s", String.format("%.4f", score), ((System.currentTimeMillis() - start) / 1000)); start = System.currentTimeMillis(); IRStatistics stats = evaluatorIR.evaluate(builder, null, model, null, 2, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0); LOG.info("precision: {} recall: {} in {}s", new Object[] { String.format("%.4f", stats.getPrecision()), String.format("%.4f", stats.getRecall()), ((System.currentTimeMillis() - start) / 1000) }); }