If your IDs are already numeric, why 'migrate' them? The mapping in the migrator determines the item IDs. You are using two different mappings. Are you reverse-mapping the item IDs? otherwise no this doesn't surprise at all.
But, the other problem here is you're using a GenericItemBasedRecommender. Use GenericBooleanPrefItemBasedRecommender. This won't work at all -- the results are more or less random. That would also explain it. On Wed, Apr 20, 2011 at 10:54 PM, Ahmet Arslan <[email protected]> wrote: > Hello Mahout community, > > I load first two columns of Group Lens 100K (au.base) data into > GenericBooleanPrefDataModel, > > 1-) Using MemoryIDMigrator, > 2-) Using a custom UpdatableIDMigrator, namely IdentityIDMigrator, that > simply relies on Long.parseLong(stringID) and Long.toString(longID) method. > Where IDs are already numeric/integers. > > However I am seeing different set of recommendations in each case for the > same user. Here is an example for the userID=1. > > Results of memory migrator > 716 1.0 > 673 1.0 > 320 1.0 > 1239 1.0 > 452 1.0 > 877 1.0 > 474 1.0 > 949 1.0 > 291 1.0 > 1213 1.0 > > > Results of identity migrator > 273 1.0 > 33 1.0 > 61 1.0 > 117 1.0 > 155 1.0 > 160 1.0 > 171 1.0 > 189 1.0 > 202 1.0 > 265 1.0 > > Here is the code snippet I was using http://pastebin.com/nvD4wWGg and > IdentityMigerator http://pastebin.com/i6jzbGVV > > Is this expected behavior? The order of recommendations being different, > when just {user|item}IDs are transformed/mapped. > > Thank you. > > P.S. I obtained the same behavior with GenericItemBasedRecommender and with > different userIDs too. > >
