0

My Mahout recommender is returning no results although from the looks of the evaluator output it seems like it should:

2014-10-15 18:33:36,704 INFO  GenericDataModel - Processed 90 users
2014-10-15 18:33:36,735 INFO  AbstractDifferenceRecommenderEvaluator - Beginning evaluation using 0.99 of GenericDataModel[users:1116,1117,1118...]
2014-10-15 18:33:36,767 INFO  GenericDataModel - Processed 89 users
2014-10-15 18:33:36,767 INFO  AbstractDifferenceRecommenderEvaluator - Beginning evaluation of 75 users
2014-10-15 18:33:36,767 INFO  AbstractDifferenceRecommenderEvaluator - Starting timing of 75 tasks in 8 threads
2014-10-15 18:33:36,782 INFO  StatsCallable - Average time per recommendation: 15ms
2014-10-15 18:33:36,782 INFO  StatsCallable - Approximate memory used: 876MB / 1129MB
2014-10-15 18:33:36,782 INFO  StatsCallable - Unable to recommend in 0 cases
2014-10-15 18:33:36,845 INFO  AbstractDifferenceRecommenderEvaluator - Evaluation result: 1.0599938694784354

I'm assuming that "Unable to recommend in 0 cases" means that it was able to recommend in all cases.

I then iterate of the User id set and only see

2014-10-15 18:33:36,923 DEBUG GenericUserBasedRecommender - Recommending items for user ID '1164'
2014-10-15 18:33:36,923 DEBUG Recommendations are: []

for each Id.

I'm I reading the debug log correctly?

Thanks.

Mike Summers
  • 2,139
  • 3
  • 27
  • 57

1 Answers1

0

Not exactly sure what that log message means, it looks like that stat is printed every 1000 itereations so it must refer to the past 1000 requests, not for all time but that's just a guess.

In any case you will very seldom be able to recommend to all users. There will often be users that do not get recommendations due to not enough usage history them, or usage history that does not overlap other users. There will also be new users for which you have no preference history and they will get no collaborative filtering recs either. Remember that you are only using preferences that have been expressed, this does not mean you have all users represented.

You should always have some fallback method to make recommendations for this case, even recently popular or promoted items would be better than nothing.

pferrel
  • 5,673
  • 5
  • 30
  • 41