Thank you very much.




>It's attached here: *https://issues.apache.org/jira/browse/MAHOUT-445*
>
>If you want to use the testcode you sent yesterday with the patch, you
>would need to change the way the recommender is created to:
>
>new GenericItemBasedRecommender(model, itemSimilarity, new
>AllUnknownItemsCandidateItemsStrategy())
>
>--sebastian
>
>Am 22.07.2010 15:15, schrieb Young:
>> Hi Sebastian,
>> Thank you. Where can we download the patch?
>>  
>> ---Young
>>
>>
>>
>>
>>
>>   
>>> Hi all,
>>>
>>> I did a little refactoring today to be able to inject customized ways of
>>> fetching the candidate items. I wrote another implementation that just
>>> returns all items not yet rated by the user. This won't be suitable for
>>> large datasets but it did quite well for the grouplens dataset (some
>>> testing results attached). I'm gonna create a patch so you can have a
>>> look at the refactoring and if you decide to commit it, it could be a
>>> suitable starting point for implementing Ted's proposed way of candidate
>>> item fetching.
>>>
>>> Another advantage of that patch is that users could supply use-case
>>> specific implementations of candidate item fetching without having to
>>> subclass the recommender of their choice.
>>>
>>> --sebastian
>>>
>>> Tests for random users with different candidate item fetching strategies
>>> (grouplens dataset)
>>>
>>> User 1063
>>> found 3605 items in 2376ms (current approach)
>>> found 3606 items in 1ms (all unknown items)
>>>
>>> User 3596
>>> found 3575 items in 1889ms (current approach)
>>> found 3578 items in 2ms (all unknown items)
>>>
>>> User 3300
>>> found 3343 items in 6603ms (current approach)
>>> found 3344 items in 0ms (all unknown items)
>>>
>>> User 924
>>> found 3507 items in 4173ms (current approach)
>>> found 3507 items in 4ms (all unknown items)
>>>
>>> User 4505
>>> found 3427 items in 4774ms (current approach)
>>> found 3427 items in 1ms (all unknown items)
>>>
>>> User 3378
>>> found 3471 items in 4225ms (current approach)
>>> found 3471 items in 0ms (all unknown items)
>>>
>>> User 246
>>> found 3673 items in 730ms (current approach)
>>> found 3677 items in 0ms (all unknown items)
>>>
>>>
>>> Am 22.07.2010 02:00, schrieb Ted Dunning:
>>>     
>>>> This is a ubiquitous problem with coocurrence algorithms since they scale 
>>>> in
>>>> the square of the number of occurrences most popular item.
>>>>
>>>> The good news is that you learn everything there is to learn about that 
>>>> item
>>>> if you look at just a sampling of the occurrences so sampling is your
>>>> friend.  If there is temporal structure, I tend to bias the sample toward
>>>> recent items.
>>>>
>>>> Regarding the size, I have generally had an arbitrary cutoff attached to a
>>>> configuration knob in my production systems.  It is probably reasonable to
>>>> set this limit to something like max(100, 20*log(max(N_users, N_items))).
>>>>  This isn't really any less arbitrary, but it will probably never need
>>>> tweaking in normal use.
>>>>   
>>>>       
>>>     
>

Reply via email to