IRecommenderEvaluator InterfaceNReco.Recommender Class Library
Implementations of this interface evaluate the quality of a IRecommender's recommendations.

Namespace: NReco.CF.Taste.Eval
Assembly: NReco.Recommender (in NReco.Recommender.dll) Version: (

public interface IRecommenderEvaluator

The IRecommenderEvaluator type exposes the following members.


Public methodEvaluate
Evaluates the quality of a IRecommender'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 IRecommender directly, but rather a [!:NReco.CF.Taste.Recommender.IRecommenderBuilder] which can build the IRecommender to test on top of a given IDataModel.

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.

controls how many of the IDataModel's users are used in evaluation.

To be clear,

and are not related. They do not need to add up to 1.0, for example.

Public methodGetMaxPreferenceObsolete.
Public methodGetMinPreferenceObsolete.
Public methodSetMaxPreferenceObsolete.
Public methodSetMinPreferenceObsolete.
See Also