Example usage for org.apache.mahout.cf.taste.eval IRStatistics getFallOut

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

Introduction

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

Prototype

double getFallOut();

Source Link

Document

<p> See <a href="http://en.wikipedia.org/wiki/Information_retrieval#Fall-Out">Fall-Out</a>.

Usage

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,
    // &sect;1.0);

    try {//from w ww.  ja  v  a  2 s  .c  o m
        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();
    }

}