Implementations will take a certain percentage of the preferences supplied by the given IDataModel 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 IRecommender's predicted preferences match the user's real preferences. Specifically, for each user, this percentage of the user's ratings are used to produce recommendations, 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
To be clear,
trainingPercentage
evaluationPercentage
Assembly: NReco.Recommender (in NReco.Recommender.dll) Version: 1.0.0.0 (1.0.0.0)
Parameters
- recommenderBuilder
- Type: NReco.CF.Taste.Eval IRecommenderBuilder
object that can build a IRecommender to test
- dataModelBuilder
- Type: NReco.CF.Taste.Eval IDataModelBuilder
IDataModelBuilder to use, or if null, a default IDataModel implementation will be used
- dataModel
- Type: NReco.CF.Taste.Model IDataModel
dataset to test on
- trainingPercentage
- Type: System Double
percentage of each user's preferences to use to produce recommendations; the rest are compared to estimated preference values to evaluate IRecommender performance
- evaluationPercentage
- Type: System Double
percentage of users to use in evaluation
Return Value
Type: Doublea "score" representing how well the IRecommender's estimated preferences match real values; lower scores mean a better match and 0 is a perfect match