Hi Deepak, It seems what happens is that Shogun LMNN is asking Shogun PCA to compute a transformation of dimension equal to #features ( https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/metric/LMNNImpl.cpp#L327) while the current Shogun PCA makes a transformation of at most min(#features, #vectors) ( https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/preprocessor/PCA.cpp#L100). So I am concluding that your data is probably #vectors < #features (let me know otherwise).
I must dig more in why current Shogun PCA is doing that. Perhaps for the moment this can help you to get going further. Cheers, Fernando. On 13 April 2016 at 15:10, Heiko Strathmann <[email protected]> wrote: > Just wanted to make sure ;) > I guess Fernando can help better then > > 2016-04-12 22:03 GMT+01:00 Deepak Rishi <[email protected]>: > >> Fernando, >> >> This particular error only comes when the feature vector dimension size >> is more than the number of examples. >> >> >> Regards, >> Deepak >> >> On Tue, Apr 12, 2016 at 5:00 PM, Deepak Rishi <[email protected]> wrote: >> >>> Hello Heiko, >>> >>> Yes, that is taken into account by the metric learn package. >>> >>> >>> Regards, >>> Deepak >>> >>> On Tue, Apr 12, 2016 at 4:48 PM, Heiko Strathmann < >>> [email protected]> wrote: >>> >>>> Reminder: shogun interprets data as column vectors. >>>> >>>> >>>> On Tuesday, 12 April 2016, Deepak Rishi <[email protected]> wrote: >>>> >>>>> Hey Fernando, >>>>> >>>>> By setting use_pca=True, I still get the same error. However, setting >>>>> it to False , the program runs. (though very slowly) >>>>> If i run the LMNN example from >>>>> http://all-umass.github.io/metric-learn/metric_learn.lmnn.html , it >>>>> runs fine without even setting the use_pca parameter. >>>>> >>>>> Would you have any advice on how to circumvent this problem? >>>>> >>>>> PS: my dataset shape is 500 x 6000. >>>>> >>>>> Regards, >>>>> Deepak >>>>> >>>>> On Tue, Apr 12, 2016 at 2:38 PM, Fernando J. Iglesias García < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Deepak, >>>>>> >>>>>> Then, there might be a problem (i.e. wrong dimension) with the matrix >>>>>> passed to initalise LMNN. I suggest you to try setting use_pca to True. >>>>>> That will make Shogun's LMNN to start using a matrix obtained by applying >>>>>> PCA. >>>>>> >>>>>> Modifying line 55 in your gist to >>>>>> >>>>>> lmnn = LMNN(k=3, learn_rate=1e-3, use_pca=True) >>>>>> >>>>>> should do it. >>>>>> >>>>>> Let me know how it goes. >>>>>> >>>>>> Cheers, >>>>>> Fernando. >>>>>> >>>>>> On 12 April 2016 at 18:52, Deepak Rishi <[email protected]> wrote: >>>>>> >>>>>>> Hi Fernando, >>>>>>> >>>>>>> The gist is at >>>>>>> https://gist.github.com/deerishi/e4ea6257e88ea924cc0fb091a5af1670 . >>>>>>> >>>>>>> I did not use the parameter use_pca. Nor did I call the PCA >>>>>>> function. >>>>>>> >>>>>>> @Chintak , have you used LMNN before? >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> Deepak >>>>>>> >>>>>>> On Tue, Apr 12, 2016 at 4:33 AM, Fernando J. Iglesias García < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Dear Deepak, >>>>>>>> >>>>>>>> Can you share in a gist, pastebin, or the like, a snippet with your >>>>>>>> relevant code? Particularly at this moment I am interested to know >>>>>>>> whether >>>>>>>> you are using the parameter use_pca. >>>>>>>> >>>>>>>> Cheers, >>>>>>>> Fernando. >>>>>>>> >>>>>>>> On 12 April 2016 at 08:39, Deepak Rishi <[email protected]> wrote: >>>>>>>> >>>>>>>>> Hi everyone, >>>>>>>>> >>>>>>>>> I am using the python package metric_learn >>>>>>>>> http://all-umass.github.io/metric-learn/metric_learn.lmnn.html >>>>>>>>> for Large Margin Nearest Neighbour. It uses LMNN from Shogun if it is >>>>>>>>> installed. Since Shogun has a faster implementation for LMNN I decied >>>>>>>>> to >>>>>>>>> use it. >>>>>>>>> >>>>>>>>> When I run my code for LMNN in python I get the error >>>>>>>>> "SystemError: [ERROR] In file >>>>>>>>> /home/drishi/shogun-4.1.0/src/shogun/preprocessor/PCA.cpp line 102: >>>>>>>>> target >>>>>>>>> dimension should be less or equal to than minimum of N and D >>>>>>>>> " >>>>>>>>> >>>>>>>>> Any advice on why is this error occurring ? >>>>>>>>> >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Deepak >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>> >> >
