org.apache.mahout.cf.taste.impl.eval
Class GenericRecommenderIRStatsEvaluator
java.lang.Object
org.apache.mahout.cf.taste.impl.eval.GenericRecommenderIRStatsEvaluator
- All Implemented Interfaces:
- RecommenderIRStatsEvaluator
public final class GenericRecommenderIRStatsEvaluator
- extends Object
- implements RecommenderIRStatsEvaluator
For each user, these implementation determine the top n
preferences, then evaluate the IR
statistics based on a DataModel
that does not have these values. This number n
is the
"at" value, as in "precision at 5". For example, this would mean precision evaluated by removing the top 5
preferences for a user and then finding the percentage of those 5 items included in the top 5
recommendations for that user.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CHOOSE_THRESHOLD
public static final double CHOOSE_THRESHOLD
- Pass as "relevanceThreshold" argument to
evaluate(RecommenderBuilder, DataModelBuilder, DataModel, IDRescorer, int, double, double)
to
have it attempt to compute a reasonable threshold. Note that this will impact performance.
- See Also:
- Constant Field Values
GenericRecommenderIRStatsEvaluator
public GenericRecommenderIRStatsEvaluator()
GenericRecommenderIRStatsEvaluator
public GenericRecommenderIRStatsEvaluator(RelevantItemsDataSplitter dataSplitter)
evaluate
public IRStatistics evaluate(RecommenderBuilder recommenderBuilder,
DataModelBuilder dataModelBuilder,
DataModel dataModel,
IDRescorer rescorer,
int at,
double relevanceThreshold,
double evaluationPercentage)
throws TasteException
- Specified by:
evaluate
in interface RecommenderIRStatsEvaluator
- Parameters:
recommenderBuilder
- object that can build a Recommender
to testdataModelBuilder
- DataModelBuilder
to use, or if null, a default DataModel
implementation will be
useddataModel
- dataset to test onrescorer
- if any, to use when computing recommendationsat
- as in, "precision at 5". The number of recommendations to consider when evaluating precision,
etc.relevanceThreshold
- items whose preference value is at least this value are considered "relevant" for the purposes
of computations
- Returns:
IRStatistics
with resulting precision, recall, etc.
- Throws:
TasteException
- if an error occurs while accessing the DataModel
Copyright © 2008–2014 The Apache Software Foundation. All rights reserved.