Open in new window / Try shogun cloud
--- Log opened Thu Jun 09 00:00:11 2011
@sonney2kdid you run make install?00:00
serialhexanyway, the answer i keep getting is 0, i would think that the classifier would do a better job, even with random inputs, but every time i run the ruby example the answer is 000:00
serialhexand yes, i did, the error i get is...00:00
serialhexthe python error:00:01
serialhexImportError: No module named shogun.Features00:01
serialhexi'll gist my ruby code in a sec so you can tell me where i may be off00:01
@sonney2kserialhex, worrying00:02
@sonney2kI suspect you installed the python files into some place that python doesn't know / find00:03
@sonney2kso you would need to fiddle with the PYTHONPATH environment variable00:03
serialhexok, i'll look into that in a bit00:03
serialhexthe ruby code is here:
@sonney2kanyway gist the ruby code@00:04
serialhexthere is a LOT of methods i had to make in order to make it work, i'll probably stick them in a module or something so i dont have to keep doing that over & over00:04
@sonney2kserialhex, wow00:05
serialhexif you have any Q's about anything let me know00:05
@sonney2klots of code is helper stuff00:05
serialhexyeah i know :P00:05
@sonney2kI think you should introduce some util.rb or so00:05
@sonney2kotherwise it becomes hard to read... or do you know of any ruby module that could make the example code shorter?00:05
serialhexwill do, but since i was just writing this one i figured i'd include it there for now00:06
@sonney2kI am asking because that is the code that will be in the tutorial in the shogun docs00:06
serialhexerm... not really at the moment.  there are a few things i have planned to clean it up, but i want to make sure it's working right before i make it perdy00:07
@sonney2kit looks great...00:07
serialhexthough the output is always 0... which is what has me worried that something is wrong00:07
serialhexhd on, switching to tablet00:09
@sonney2kserialhex, you say out is always 0 ?00:10
@sonney2kcould you try with more examples please00:10
@sonney2ksay num = 10000:10
serialhexi just tried woth 1000 and still 000:11
-!- serialhex01 [] has joined #shogun00:11
@sonney2kif you do out = svm.apply.get_labels in line 129 will this out also be just 0 ?00:11
serialhexit's a bunch of floats00:12
@sonney2ksome at -1 / +1 (or close to?)00:13
serialhex01hmm,  some kind of near00:14
serialhexwith @num = 10 i get: [0.4680212008907656, 0.10552998375268269, -0.5108234747841581, -0.03223529191720908, -0.04684119144986374, 1.1074998515237082, 0.741678376385645, 0.9422832217759, 0.9387448468671497, 0.40136515063517464, -0.33593238370448436, 0.7812235280836723, 0.24727375268561924, 1.0973898926638292, 0.17753467690222277, 0.7639046416040717, 0.29813303799435864, 1.0396246815544672, 0.5358912110843104, 1.00:15
@sonney2knot exactly what I would expect00:16
@sonney2kso could you print kernel.get_kernel_matrix in line 122?00:16
@sonney2kwith num=2 or 3 or so00:16
@sonney2kserialhex, just for clarification what this example does:00:18
@sonney2kit generates to gaussian distributed 'blobs' that are shifted with dist to the left bottom / right top00:18
@sonney2kso if you do num=5 then 5 points in each gaussian00:18
@sonney2kand respectively 5 negatively and 5 positvely labelled points00:19
@sonney2kthen trains an svm with gaussian kernel00:19
serialhexi kind of figured it did something like that00:19
@sonney2ksince you use a rather large kernel width (2.xx) the decision boundary will be close to linear00:19
@sonney2kcould you print the kernel above?00:20
@sonney2kand please also trainlab / testlab00:20
serialhexwhen i try to print kernel.get_kernel_matrix it says i need 3 args...00:22
serialhexprob gonna be booted for this... :P00:22
serialhexpry(main)> trainlab00:22
serialhex=> [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]00:22
serialhexpry(main)> testlab00:22
serialhex=> [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]00:22
@sonney2kserialhex, I guess I didn't add support for get_kernel_matrix out typemap yet00:24
serialhexmaybe not :(00:25
@sonney2kwhat you could do though is call kernel.kernel(0,0) and kernel(0,1)00:26
serialhexpry(main)> kernel.kernel(0,0)00:26
serialhex=> 0.4129938487330740400:26
serialhexpry(main)> kernel.kernel(0,1)00:26
serialhex=> 0.706856242698331500:26
serialhex(btw, pry is an awesome tool! i love it!!!)00:27
@sonney2khmmhh kernel(i,i) should return 1.000:27
@sonney2kso sth is weird00:27
@sonney2kbut your example is with 90% prob correct00:28
serialhex01are you asking?00:29
serialhexoh, ok00:32
@sonney2kpush your example00:32
serialhexwill do00:33
@sonney2kI will need to debug / valgrind...00:33
serialhexpushed... and removed the test i pushed before00:41
serialhexand made a pull req00:42
serialhexi need to go to the office, i'll ttyl and hopefully we'll be able to figure this out soon sonney2k00:43
@sonney2kserialhex, thanks a lot!00:43
@sonney2kand good forking / kniving ;-)00:44
serialhexnp :D00:44
-!- serialhex01 [] has quit [Quit: AndroIRC]00:46
CIA-18shogun: Justin Patera master * r42ea1d3 / (2 files): removed simple ruby test -
CIA-18shogun: Soeren Sonnenburg master * rdfd6804 / examples/undocumented/ruby_modular/classifier_libsvm_minimal_modular.rb : Merge branch 'master' of git:// -
CIA-18shogun: Justin Patera master * r5fbcb40 / examples/undocumented/ruby_modular/classifier_libsvm_minimal_modular.rb : added ruby_modular libSVM example... needs to be clean & probably fixed... -
CIA-18shogun: Soeren Sonnenburg master * r0a9ffa2 / src/ : Add the *_doxygen.i files to the modular modules build-deps -
serialhexBUAHAHAHAHAHAHA!!!! I HAVE FIXED IT!!!!!!!05:38
serialhex(i think)05:39
serialhexyou're probably dead asleep right now sonney2k, but i've worked on the ruby example a bit, now it's giving me vals ~0.5 (random chance) which i don't know if it should do better than that (i'm assuming little better than chance, but probably not much) but it's better than 0!!!05:41
serialhexi'm going to pull out all the extra nonsense that's in the classifier file & then push (though there are already a few small changes i did before this) and you should be getting that tonight/tomorrow05:42
serialhexok, you're not getting the spiffy cleaned-up version today, but you are getting the version that works today... it's sleep time yo!  nite all, and morning everyone else!!!05:48
-!- alesis-novik [~alesis@] has quit [Remote host closed the connection]06:30
-!- in3xes_ [~in3xes@] has joined #shogun13:05
-!- in3xes [~in3xes@] has quit [Ping timeout: 240 seconds]13:08
-!- in3xes_ is now known as in3xes13:14
-!- in3xes_ [~in3xes@] has joined #shogun13:15
-!- in3xes [~in3xes@] has quit [Ping timeout: 240 seconds]13:18
-!- in3xes_ is now known as in3xes13:18
-!- in3xes_ [~in3xes@] has joined #shogun13:23
-!- in3xes [~in3xes@] has quit [Ping timeout: 276 seconds]13:27
-!- in3xes_ is now known as in3xes13:30
-!- in3xes_ [~in3xes@] has joined #shogun13:40
-!- in3xes_ [~in3xes@] has quit [Read error: Connection reset by peer]13:41
-!- in3xes [~in3xes@] has quit [Ping timeout: 276 seconds]13:44
-!- blackburn [~blackburn@] has joined #shogun13:48
serialhexhey blackburn, want to see something funny?14:06
blackburnserialhex: hey14:06
serialhexheres the example that sonney2k wanted me to translate to ruby:
serialhexand here is the (working) ruby translation:
serialhexdo you think i did enough bootstrapping??14:08
blackburnwhere is no numerical framework like numpy?14:09
serialhexi'm gonna pull all of that stuff in the beginning out & stick it in another file i can just require to make it nicer... but i gtg and take care of some stuff right now14:09
serialhexthere is, but we just havn't implemented it yet14:09
blackburnI see14:10
serialhexi need to read the source in order to figure out WTF to do with it14:10
serialhexanyway, i need to take a shower & get going, i'll ttyl!  have a nice day!!14:11
blackburnhave a nice day too14:11
-!- in3xes [~in3xes@] has joined #shogun14:13
-!- in3xes_ [~in3xes@] has joined #shogun15:31
-!- in3xes [~in3xes@] has quit [Ping timeout: 240 seconds]15:34
-!- in3xes1 [~in3xes@] has joined #shogun16:24
-!- in3xes_ [~in3xes@] has quit [Ping timeout: 276 seconds]16:28
-!- in3xes_ [~in3xes@] has joined #shogun16:44
-!- in3xes1 [~in3xes@] has quit [Ping timeout: 276 seconds]16:48
-!- in3xes1 [~in3xes@] has joined #shogun17:29
-!- in3xes_ [~in3xes@] has quit [Ping timeout: 240 seconds]17:32
-!- in3xes1 [~in3xes@] has quit [Ping timeout: 276 seconds]17:38
-!- in3xes_ [~in3xes@] has joined #shogun18:02
-!- in3xes_ is now known as in3xes18:06
-!- in3xes_ [~in3xes@] has joined #shogun18:53
-!- in3xes [~in3xes@] has quit [Ping timeout: 255 seconds]18:56
-!- in3xes1 [~in3xes@] has joined #shogun19:30
-!- cwidmer [] has quit [Remote host closed the connection]19:33
-!- in3xes_ [~in3xes@] has quit [Ping timeout: 258 seconds]19:33
blackburnsonney2k: if we was using ARPACK ( my algos would be faster - is it possible to include it to shogun?19:40
blackburnfor example in LLE NxN eigenproblem is solved19:42
blackburnand after we pick just 2,3 or so of all N eigenvectors19:42
blackburnnot efficient, lanzcos algorithm could do it faster19:42
-!- in3xes1 is now known as in3xes19:49
@sonney2kblackburn, sure why not - but make it optional(!)19:59
@sonney2ki.e. it must work with lapack only too20:01
@sonney2kblackburn, anyway you should better prepare for your exam right now! much more important than GSoC!20:03
-!- f-x [~user@] has joined #shogun20:14
@sonney2kserialhex, hmmhh 50% only means random chance20:21
serialhexyeah sonney2k... i dont know what the deal is, but i's better than 020:21
@sonney2kso out == 0 is the problem20:21
serialhexout == 0???20:23
serialhexyou mean for this line: testerr = mean out.sign.eql_items? testlab20:25
serialhexi should probably make it clearer like so: testerr = mean( out.sign.eql_items? testlab )20:25
blackburnsonney2k: ah, I see. so I could use lapack if arpack is not available, right?20:56
blackburnah exam right :D20:56
-!- in3xes [~in3xes@] has quit [Ping timeout: 244 seconds]21:17
--- Log closed Fri Jun 10 00:00:14 2011