mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Owen <>
Subject Re: Memory and Speed Questions for Item-Based-Recommender
Date Mon, 13 Jul 2009 14:49:52 GMT
On Mon, Jul 13, 2009 at 2:48 PM, Thomas Rewig<> wrote:
>        *** "Pre"-Recommender ***
>       // set the model for the ItemItemMatrix
>       this.similarityModel = new MySQLJDBCDataModel(cPoolDS,
> preferenceTable, userIDColumn, itemIDColumn, preferenceColumn);

>       // set the model for the Recommender
>       this.model = new MySQLJDBCDataModel(cPoolDS, preferenceTable,
> userIDColumn, itemIDColumn, preferenceColumn);

Hmm, this doesn't look right. You are using the exact same table and
columns in both cases. I thought that above, your "users" were items
and "items" were item attributes, and in the second case, your "users"
are actual users and "items" are items.

>           // Cast to itemSimilarity because the "Users" in the
> "Pre"-Recommender are Items
>       this.cachingItemSimilarity = (CachingItemSimilarity)
> this.cachingUserSimilarity;

I don't understand why you are trying to do this? there are two
classes available, CachingItemSimilarity and CachingUserSimilarity.
There should be no need to force one to be the other.

>   -->I know, thats not working but in that way I could compute the
> ItemSimilarity on the fly (as a UserSimilarity) and must not precompute all
> Item-Item-Correlations, export them and import them as
> GenericItemSimilarity.ItemItemSimilarity. ( Ok with your new class I only
> have to compute and export them - the DB makes the rest)
> I hope you understand my idea - also maybe there is a better way to do that,
> and I even don't see it, because I'm in the moment not completely familiar
> with the taste-code.

If you do not want to precompute item-item similarities, then simply
don't! You do not have to. Use an ItemSimilarity implementation
directly. What is the problem with that?


View raw message