On Mon, Jul 13, 2009 at 2:48 PM, Thomas Rewig<[email protected]> 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? Sean
