On Tue, Jul 14, 2009 at 10:58 AM, Thomas Rewig<[email protected]> wrote: > Because I need a UserSimilarity to precompute. Maybe I overlook a importent > detail, but if I do it in that way to compute all on the fly in a item-based > way: > > *** "Pre"-Recommender *** > // set the model for the ItemItemMatrix > this.similarityModel = new MySQLJDBCDataModel(cPoolDS, > preferenceTableSim, userIDColumnSim, itemIDColumnSim, preferenceColumnSim); > // set the "ItemSimilarity" for the ItemItemMatrix > this.similarityItemSimilarity = new > EuclideanDistanceSimilarity(this.similarityModel); > // set CaschingSimilarity > this.cachingItemSimilarity = new > CachingItemSimilarity(this.similarityItemSimilarity, this.similarityModel); > *** Recommender *** > // set the model for the Recommender > this.model = new MySQLJDBCDataModel(cPoolDS, preferenceTable, > userIDColumn, itemIDColumn, preferenceColumn); > // set the Recommender with the *cachingItemSimilarity* > this.recommender = new GenericUserBasedRecommender(this.model, > this.cachingItemSimilarity);
But why are you using a user-based recommender here? I thought you were using an item-based recommender, in the end, to produce actual recommendations. Yes, of course you do not plug in an item-similarity metric into a user-based recommender. User GenericItemBasedRecommender.
