Great! Thanks for that info, Sean.
I would like to implement a GenericItemBasedRecommender, my
testdata is a DB
with 300.000 Preferences (130.000 items, 12.000 users).
Typically if you have many more items than users, you would prefer a
user-based recommender, for performance. This is because a user-based
recommender compares the user to all other users, and an item compares
an item to all other items..
But, an item-based recommender could be fast and appropriate if you
have a very efficient source of item-item similarities -- see below.
Ok, I think I will test User-based recommender, instead. For now I
don't have a source of item-item similarities.
Yes I would recommend you use memory as much as possible. At some
point you will not be able to, of course. Then I think you would
resort to a JDBC-based data model which does *not* read into memory.
You might store pre-computed item-item similarities in a DB rather
than memory. This will slow things down of course, but becomes
necessary.
Yeah, I was wondering. I experimented with a simple non-caching JDBC
DataModel implementation for an RDF triple store. However the
performance was so bad that I thought memory-based would be the only
way to do it. Well, my data could become too large for my memory.
Maybe I will have to tweak my DB connection. But for now, I will stick
with the memory-solution as long as possible.
Thanks, Mirko