Thanks Sean !

Please correct me , when selecting the 16% items we use the top items
, but when comparing with the recommended items we don't use sorted
list . In other words we just compare 2 lists?

How mahout deal with these 2 cases?

Case 1: user have many items. Assume 1000 item , so if we recommend 5
good items from the 160 items we will get a precision of 100% ? is
that ok ?

Case 2: user having less than 7 items. Assume 5 items, in this case
there won't be top items in the list so the user won't get any
recommendation and no precision ? Do we need to select another
threshold like 50% ?



On Thu, Aug 9, 2012 at 10:52 AM, Sean Owen <[email protected]> wrote:
> Hi Ziad, I did answer your last question on this list -- don't see this one
> previously though.
>
> The "relevant" items are chosen as those whose pref value exceed some given
> threshold. The default threshold is the mean of all 100 pref values plus
> one standard deviation. Assuming the prefs are about normally distributed
> about the mean (a significant assumption), and because 84% of the data
> should therefore fall below mean plus 1 standard deviation, that means you
> pick about the top 16% (16 of 100) items as relevant.
>
> Yes your interpretation of precision is correct.
>
> On Thu, Aug 9, 2012 at 4:12 PM, ziad kamel <[email protected]> wrote:
>
>> Hi , I asked this question few months ago with no answer. Hopefully
>> someone can help .
>>
>> When not using a threshold, the default is to use average ratings plus
>> one standard deviation which equals to 16%. Assume that a user have
>> 100 items. Does that mean that his good recommendations are the top 16
>> items ? In case we use precision at 5 , we going to select  only top 5
>> items from the 100.  So is the precison going to be how many among the
>> 16 items are in the 5 items ? Assume that we get 4 from the 16 in list
>> of 5 , the precision will be 80% ?
>>
>> IRStatistics stats = evaluator.evaluate(recommenderBuilder, null,
>> model, null, 5,
>> GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0);
>>
>> Thanks !
>>

Reply via email to