I'm doing a very simple recommender based on binary data. Using 
GenericRecommenderIRStatsEvaluator I get nDCG = NaN for each user. My data is 
still very incomplete, which means an extremely low cooccurrence rate but there 
are some since otherwise I'd expect P and R to be 0 and they are not. For nDCG 
to be NaN it looks like the running average is never initialized because the 
user values are never initialized. How should I interpret this?

I catch the exception at the end when the average nDCG is calculated but the P, 
R, and F should still be OK, right? I wonder if an exception is really what you 
want here because it makes otherwise valid values inaccessible. I commented out 
the nDCG precondition and the results are weak as I'd expect but valid AFAIK.

12/12/03 10:55:11 INFO eval.GenericRecommenderIRStatsEvaluator: 
Precision/recall/fall-out/nDCG: 0.01214798453892877 / 0.010180472003701981 / 
5.687917781641289E-5 / NaN
12/12/03 10:55:11 INFO eval.GenericRecommenderIRStatsEvaluator: Evaluated with 
user 2146441897 in 24ms
12/12/03 10:55:11 INFO eval.GenericRecommenderIRStatsEvaluator: 
Precision/recall/fall-out/nDCG: 0.012141280353200884 / 0.010175763182238659 / 
5.6884648356688493E-5 / NaN
Precision = 0.012141280353200884
Recall = 0.010175763182238659
F1 = 0.011071967790639152

Reply via email to