On Thu, Oct 20, 2011 at 10:13 PM, Camilo Rostoker
<[email protected]> wrote:
> A) Use an item-based recommender, with the rating being the number of times 
> they bought the item (perhaps normalize the data between 1-10).

Yes, good. My first reaction might be to use the logarithm of number
of purchases, or ignore it altogether and just record the association
(a 'boolean' pref) regardless of the purchase count. This only makes a
complete system together with B) or C) though.

>
> B) Use the meta-data to generate similarities between the items, then simply 
> recommend to a user the top N items that are similar to one that they've 
> previously purchased.  This could be implemented in Mahout by overriding the 
> ItemSimilarity (as described in this post:  
> http://lucene.472066.n3.nabble.com/Content-based-Recommender-Implementation-td913981.html).
>    Obviously the challenging part here is figuring out how to generate a 
> similarity score for the two items using the meta-data.

Exactly. You can plug in whatever you logic you want there, but
equally you have to make up that logic. To start, you can experiment
with simplistic rules like considering only items in the same category
"similar". It might do reasonably well as a start.

You can of course just use purchases, pure collaborative filtering, to
generate similarity. For instance log-likelihood similarity works
well.


>
> C) Use frequent item-sets to figure out other items that are usually bought 
> with that one, and recommend those.

You could use frequent item sets to determine item-item similarity, as
in B). That's kind of what log-likelihood is doing. This would then be
a plug-in similarity to your item-based algorithm in A).

If you mean you just want to start with an *item*, and find similar
items, sure you can do that. This is simpler than the full recommender
problem.

Reply via email to