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. >>> >>> >>
