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.
