|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface RecommenderEvaluator
Implementations of this interface evaluate the quality of a
Recommender's recommendations.
| Method Summary | |
|---|---|
double |
evaluate(RecommenderBuilder recommenderBuilder,
DataModel dataModel,
double trainingPercentage,
double evaluationPercentage)
Evaluates the quality of a Recommender's recommendations. |
| Method Detail |
|---|
double evaluate(@Nullable
RecommenderBuilder recommenderBuilder,
@Nullable
DataModel dataModel,
double trainingPercentage,
double evaluationPercentage)
throws TasteException
Evaluates the quality of a Recommender's recommendations.
The range of values that may be returned
depends on the implementation, but lower values must mean better recommendations, with 0 being the
lowest / best possible evaluation, meaning a perfect match. This method does not
accept a Recommender directly, but rather a
RecommenderBuilder which can build the
Recommender to test on top of a given DataModel.
Implementations will take a certain percentage of the preferences supplied by the given DataModel
as "training data". This is typically most of the data, like 90%. This data is used to produce recommendations,
and the rest of the data is compared against estimated preference values to see how much the
Recommender's predicted preferences match the user's real
preferences. Specifically,
for each user, this percentage of the user's ratings are used to produce recommendatinos, and for each user,
the remaining preferences are compared against the user's real preferences.
For large datasets, it may be desirable to only evaluate based on a small percentage of the data.
evaluationPercentage controls how many of the DataModel's users are used in
evaluation.
To be clear, trainingPercentage and evaluationPercentage are not related.
They do not need to add up to 1.0, for example.
recommenderBuilder - object that can build a Recommender to testdataModel - dataset to test ontrainingPercentage - percentage of each user's preferences to use to produce recommendations; the rest
are compared to estimated preference values to evaluate Recommender
performanceevaluationPercentage - percentage of users to use in evaluation
Recommender's
estimated preferences match real values; lower scores mean a better match and 0 is a perfect match
TasteException - if an error occurs while accessing the DataModel
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||