AbstractIDMigrator is for being able to use String IDs (it converts
Strings to Longs.)
IDs are stored in Long types, so there should not be any problems with
negative IDs, but in practice I have not work with negative IDs
before.

Tevfik

On Wed, Aug 6, 2014 at 3:51 AM, Peng Zhang <[email protected]> wrote:
> Hi,
>
> Does this support the possibility that user/item id can be negative?
>
> I am reading through the source code of 
> org.apache.mahout.cf.taste.impl.model.AbstractIDMigrator. The hash() function 
> is trying to convert a string id to a long id like this. It’s quite possible 
> that the long id returned is a negative one, when the leading bit is 1:)
>
> protected final long hash(String value) {
>     byte[] md5hash;
>     synchronized (md5Digest) {
>       md5hash = md5Digest.digest(value.getBytes(Charsets.UTF_8));
>       md5Digest.reset();
>     }
>     long hash = 0L;
>     for (int i = 0; i < 8; i++) {
>       hash = hash << 8 | md5hash[i] & 0x00000000000000FFL;
>     }
>     return hash;
>   }
>
>
> Hi Ted,
> I am running the in memory version of GenericItemBasedRecommender and 
> SVDRecommender, i.e. I am using them in my Java code.
>
>
> Hi Pat,
> Not all user id are negative. Input file sample:
> ...
> -10000250,6929,1
> -10000250,7059,1
> -10000250,7654,1
> -10000250,8094,1
> -10000250,9486,1
> -10000250,9563,3
> 10018000,11080,1
> 10018000,11176,1
> 10018000,11196,1
> 10018000,12220,1
> 10018000,12447,1
> 10018000,13213,1
> ...
>
> Item based recommender output sample:
> User,Brand,Scoring
> -10000250,12352,5.0
> -10000250,14261,5.0
> -10000250,15934,4.309238
> -10000250,16463,3.0
> -10000250,3627,1.0
> 1025250,29099,1.0
> 1025250,18741,1.0
> 1025250,14261,1.0
> …
>
> SVD recommender output sample:
> User,Brand,Scoring
> -10000250,3627,3.9108906
> -10000250,27791,3.8262475
> -10000250,251,3.744943
> -10000250,20979,3.5778444
> -10000250,14482,3.5494242
> 1025250,27791,2.2692947
> 1025250,251,1.9651389
> 1025250,14482,1.9196383
> 1025250,12220,1.9153352
> ...
>
>
> Thank you,
>
> Peng Zhang
> M: +86 186-1658-7856
> [email protected]
>
>
>
>
>
> On Aug 6, 2014, at 7:26 AM, Pat Ferrel <[email protected]> wrote:
>
>> Are they ALL negative? Maybe only the non-negatives are working or there are 
>> some conditions where negatives work. I certainly wouldn’t count on it 
>> because I’ll bet it isn’t working as it should.
>>
>>
>> On Aug 5, 2014, at 4:03 PM, Ted Dunning <[email protected]> wrote:
>>
>> On Tue, Aug 5, 2014 at 3:21 AM, Peng Zhang <[email protected]> wrote:
>>
>>> But today I am trying to use negative user id and item id, and they are
>>> working well with the item recommender and dvd recommender.
>>>
>>
>> Which programs are you using?
>>
>

Reply via email to