Are you translating the ID's down into a range that will fit into int's?
On Thu, Apr 17, 2014 at 3:02 PM, Mario Levitin <[email protected]>wrote: > Hi, > > I'm trying to run the ALS algorithm. However, I get the following error: > > Exception in thread "pool-1-thread-3" > org.apache.mahout.math.IndexException: Index -691877539 is outside > allowable range of [0,2147483647) > at org.apache.mahout.math.AbstractVector.set(AbstractVector.java:395) > at > > org.apache.mahout.cf.taste.impl.recommender.svd.ALSWRFactorizer.sparseUserRatingVector(ALSWRFactorizer.java:305) > > At line 305 in ALSWRFactorizer.java, there is the following code > > ratings.set((int) preference.getItemID(), preference.getValue()); > > My suspicion is that the error results from the casting to int in the above > line. Item IDs in mahout are long, so if you cast a long (which does not > fit into an int) then you will get negative numbers and hence the error. > > However, this explanation also seems to me implausible since I don't think > such an error exists in Mahout code. > > Any help will be appreciated. > Thanks >
