Hi again,
I have a question regarding the output of the solver. Is it really the V
matrix or is it already V*S(1). Jake said that I needed to scale the
vectors by (1/eigenvalue), but when I do this programatically and serialize
the output to the hdfs and check the results, I see that the V*S(1) vectors
that I built and the V that the solve method (or mahout svd command)
persists has almost the same values, so it seems to be already scaled by
(1/eigenvalues). Is this true?
For example:
Eigenvectors persisted by the solve method to the hdfs (A portion):
2 elts: {00:0.00969523384177557, 01:0.1509405313358042,
02:0.15402428299469786,
Eigenvalue asociated: 0.35597101584493984
When I take the V matrix from the solve method at execution time and scale
by (1/eigenvalue):
2 elts: {00:0.009036918423663949, 01:0.15711902318788887,
02:0.14878245692981582
If I multiply the first element by the eigenvalue (rescale to obtain V
again) I would obtain something like 0.00321688, very far from the
0.00969523384177557 that is persisted to the hdfs by the solve method.
Can someone throw some light on this?
Best,
Fernando.
El 26 de noviembre de 2010 09:49, Fernando Fernández <
fernando.fernandez.gonzalez@gmail.com> escribió:
> Yes, I'm checking the error today with some colleagues and seems that we
> broke something trying to fix other errors... now SVD doesn't work even on
> the command line, I'll write again if I get back to the situation where the
> command line worked and I got ClassNotFoundExceptions...
>
> Thanks!!
>
> 2010/11/26 Ted Dunning <ted.dunning@gmail.com>
>
> Ahh... the problem is not that classes are missing. It is that the code
>> that is reading the
>> matrix wants to see a LongWritable for the row number and is getting an
>> IntWritable instead.
>>
>> I think that your file containing your matrix was somehow created
>> incorrectly. This isn't necessarily
>> your error, but I think that the error exists.
>>
>> 2010/11/25 Fernando Fernández <fernando.fernandez.gonzalez@gmail.com>
>>
>> > java.lang.IllegalStateException: java.io.IOException: wrong key class:
>> > org.apache.hadoop.io.IntWritable is not class
>> > org.apache.hadoop.io.LongWritable
>> >
>>
>
>
