I need to do the equivalent of the xrecommender.mostSimilarItems(long[] 
itemIDs, int howMany) 

To over simplify this, in the standard Item-Based Recommender this is 
equivalent to looking at the item similarities from the preference matrix 
(similarity of item pruchases by user). In the xrecommender case I don't want 
to know similarity of views by users, do I? Seems wrong to get the similarity 
based on views alone.

So I was proposing that since the columns of [B'A] correspond to "A" items. Why 
not transpose [B'A] and run RowSimilairtyJob on it to find all pairwise item 
similarities from the co-occurrence matrix. The highest values would be 
returned by  xrecommender.mostSimilarItems(long[] itemIDs, int howMany) 

Is this wrong?

On Apr 5, 2013, at 5:49 AM, Ted Dunning <[email protected]> wrote:

inline


> I'm most interested in item similarity so I think the [B'A] needs 
> RowSimilarityJob run on it but it is the columns I need to compare (???) so 
>   [B'A]' = rows of items with values that are views that lead to (co-occur 
> with) purchases
>   RowSimilarityJob on [B'A]' will calculate pairwise similarity of items and 
> so will create a matrix of item similarities. Here I suppose I can apply any 
> of the similarity classes.

Actually, I think that B'A has rows taken from the b-items and columns taken 
from the a-items.

Each row of B'A consists of a row of indicators that lead to the recommendation 
of the item corresponding to that row.  This is a very handy form that needn't 
be further transformed.

> Question:
> *  Have I got the item similarity part right, do I need to compare columns of 
> [B'A]?

I don't see why you would need to.


Reply via email to