--- Log opened Thu Jun 09 00:00:11 2011 | ||
@sonney2k | did you run make install? | 00:00 |
---|---|---|
serialhex | anyway, 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 0 | 00:00 |
serialhex | and yes, i did, the error i get is... | 00:00 |
serialhex | the python error: | 00:01 |
serialhex | ImportError: No module named shogun.Features | 00:01 |
serialhex | i'll gist my ruby code in a sec so you can tell me where i may be off | 00:01 |
@sonney2k | serialhex, worrying | 00:02 |
@sonney2k | I suspect you installed the python files into some place that python doesn't know / find | 00:03 |
@sonney2k | so you would need to fiddle with the PYTHONPATH environment variable | 00:03 |
serialhex | ok, i'll look into that in a bit | 00:03 |
serialhex | the ruby code is here: https://gist.github.com/1015544 | 00:03 |
@sonney2k | anyway gist the ruby code@ | 00:04 |
serialhex | there 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 & over | 00:04 |
@sonney2k | serialhex, wow | 00:05 |
serialhex | if you have any Q's about anything let me know | 00:05 |
@sonney2k | lots of code is helper stuff | 00:05 |
serialhex | yeah i know :P | 00:05 |
@sonney2k | I think you should introduce some util.rb or so | 00:05 |
@sonney2k | otherwise it becomes hard to read... or do you know of any ruby module that could make the example code shorter? | 00:05 |
serialhex | will do, but since i was just writing this one i figured i'd include it there for now | 00:06 |
@sonney2k | I am asking because that is the code that will be in the tutorial in the shogun docs | 00:06 |
serialhex | erm... 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 perdy | 00:07 |
@sonney2k | it looks great... | 00:07 |
serialhex | though the output is always 0... which is what has me worried that something is wrong | 00:07 |
serialhex | hd on, switching to tablet | 00:09 |
@sonney2k | serialhex, you say out is always 0 ? | 00:10 |
serialhex | yes | 00:10 |
@sonney2k | could you try with more examples please | 00:10 |
@sonney2k | say num = 100 | 00:10 |
serialhex | ok | 00:10 |
serialhex | i just tried woth 1000 and still 0 | 00:11 |
-!- serialhex01 [~androirc@99-101-148-183.lightspeed.wepbfl.sbcglobal.net] has joined #shogun | 00:11 | |
@sonney2k | if you do out = svm.apply.get_labels in line 129 will this out also be just 0 ? | 00:11 |
serialhex | it's a bunch of floats | 00:12 |
@sonney2k | some at -1 / +1 (or close to?) | 00:13 |
serialhex01 | hmm, some kind of near | 00:14 |
@sonney2k | like? | 00:14 |
serialhex | with @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 |
serialhex | 019790835318551] | 00:15 |
@sonney2k | not exactly what I would expect | 00:16 |
@sonney2k | so could you print kernel.get_kernel_matrix in line 122? | 00:16 |
@sonney2k | with num=2 or 3 or so | 00:16 |
@sonney2k | serialhex, just for clarification what this example does: | 00:18 |
@sonney2k | it generates to gaussian distributed 'blobs' that are shifted with dist to the left bottom / right top | 00:18 |
@sonney2k | so if you do num=5 then 5 points in each gaussian | 00:18 |
@sonney2k | and respectively 5 negatively and 5 positvely labelled points | 00:19 |
@sonney2k | then trains an svm with gaussian kernel | 00:19 |
serialhex | i kind of figured it did something like that | 00:19 |
@sonney2k | since you use a rather large kernel width (2.xx) the decision boundary will be close to linear | 00:19 |
@sonney2k | could you print the kernel above? | 00:20 |
@sonney2k | and please also trainlab / testlab | 00:20 |
serialhex | when i try to print kernel.get_kernel_matrix it says i need 3 args... | 00:22 |
serialhex | prob gonna be booted for this... :P | 00:22 |
serialhex | pry(main)> trainlab | 00:22 |
serialhex | => [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] | 00:22 |
serialhex | pry(main)> testlab | 00:22 |
serialhex | => [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] | 00:22 |
@sonney2k | serialhex, I guess I didn't add support for get_kernel_matrix out typemap yet | 00:24 |
serialhex | maybe not :( | 00:25 |
@sonney2k | what you could do though is call kernel.kernel(0,0) and kernel(0,1) | 00:26 |
serialhex | pry(main)> kernel.kernel(0,0) | 00:26 |
serialhex | => 0.41299384873307404 | 00:26 |
serialhex | pry(main)> kernel.kernel(0,1) | 00:26 |
serialhex | => 0.7068562426983315 | 00:26 |
serialhex | (btw, pry is an awesome tool! i love it!!!) | 00:27 |
@sonney2k | hmmhh kernel(i,i) should return 1.0 | 00:27 |
@sonney2k | so sth is weird | 00:27 |
@sonney2k | but your example is with 90% prob correct | 00:28 |
serialhex01 | are you asking? | 00:29 |
@sonney2k | no | 00:32 |
@sonney2k | fact | 00:32 |
serialhex | oh, ok | 00:32 |
@sonney2k | push your example | 00:32 |
serialhex | will do | 00:33 |
@sonney2k | I will need to debug / valgrind... | 00:33 |
serialhex | pushed... and removed the test i pushed before | 00:41 |
serialhex | and made a pull req | 00:42 |
serialhex | i need to go to the office, i'll ttyl and hopefully we'll be able to figure this out soon sonney2k | 00:43 |
@sonney2k | serialhex, thanks a lot! | 00:43 |
@sonney2k | and good forking / kniving ;-) | 00:44 |
serialhex | np :D | 00:44 |
-!- serialhex01 [~androirc@99-101-148-183.lightspeed.wepbfl.sbcglobal.net] has quit [Quit: AndroIRC] | 00:46 | |
CIA-18 | shogun: Justin Patera master * r42ea1d3 / (2 files): removed simple ruby test - http://bit.ly/jXXHrP | 00:53 |
CIA-18 | shogun: Soeren Sonnenburg master * rdfd6804 / examples/undocumented/ruby_modular/classifier_libsvm_minimal_modular.rb : Merge branch 'master' of git://github.com/serialhex/shogun - http://bit.ly/j4HCuW | 00:53 |
CIA-18 | shogun: Justin Patera master * r5fbcb40 / examples/undocumented/ruby_modular/classifier_libsvm_minimal_modular.rb : added ruby_modular libSVM example... needs to be clean & probably fixed... - http://bit.ly/jgqKRv | 00:53 |
CIA-18 | shogun: Soeren Sonnenburg master * r0a9ffa2 / src/.generate_link_dependencies.py : Add the *_doxygen.i files to the modular modules build-deps - http://bit.ly/jlBCOW | 00:53 |
serialhex | BUAHAHAHAHAHAHA!!!! I HAVE FIXED IT!!!!!!! | 05:38 |
serialhex | (i think) | 05:39 |
serialhex | you'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 |
serialhex | i'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/tomorrow | 05:42 |
serialhex | ok, 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@188.74.87.84] has quit [Remote host closed the connection] | 06:30 | |
-!- in3xes_ [~in3xes@59.163.196.121] has joined #shogun | 13:05 | |
-!- in3xes [~in3xes@210.212.58.111] has quit [Ping timeout: 240 seconds] | 13:08 | |
-!- in3xes_ is now known as in3xes | 13:14 | |
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun | 13:15 | |
-!- in3xes [~in3xes@59.163.196.121] has quit [Ping timeout: 240 seconds] | 13:18 | |
-!- in3xes_ is now known as in3xes | 13:18 | |
-!- in3xes_ [~in3xes@210.212.58.111] has joined #shogun | 13:23 | |
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 276 seconds] | 13:27 | |
-!- in3xes_ is now known as in3xes | 13:30 | |
-!- in3xes_ [~in3xes@59.163.196.121] has joined #shogun | 13:40 | |
-!- in3xes_ [~in3xes@59.163.196.121] has quit [Read error: Connection reset by peer] | 13:41 | |
-!- in3xes [~in3xes@210.212.58.111] has quit [Ping timeout: 276 seconds] | 13:44 | |
-!- blackburn [~blackburn@188.168.4.183] has joined #shogun | 13:48 | |
serialhex | hey blackburn, want to see something funny? | 14:06 |
blackburn | serialhex: hey | 14:06 |
blackburn | exactly | 14:06 |
@bettyboo | yo | 14:06 |
serialhex | heres the example that sonney2k wanted me to translate to ruby: https://github.com/serialhex/shogun/blob/master/examples/undocumented/python_modular/classifier_libsvm_minimal_modular.py | 14:07 |
serialhex | and here is the (working) ruby translation: https://github.com/serialhex/shogun/blob/master/examples/undocumented/ruby_modular/classifier_libsvm_minimal_modular.rb | 14:07 |
serialhex | do you think i did enough bootstrapping?? | 14:08 |
blackburn | hehe | 14:08 |
blackburn | where is no numerical framework like numpy? | 14:09 |
serialhex | i'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 now | 14:09 |
serialhex | there is, but we just havn't implemented it yet | 14:09 |
blackburn | I see | 14:10 |
serialhex | i need to read the source in order to figure out WTF to do with it | 14:10 |
serialhex | anyway, i need to take a shower & get going, i'll ttyl! have a nice day!! | 14:11 |
blackburn | have a nice day too | 14:11 |
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun | 14:13 | |
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun | 15:31 | |
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds] | 15:34 | |
-!- in3xes1 [~in3xes@180.149.49.227] has joined #shogun | 16:24 | |
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Ping timeout: 276 seconds] | 16:28 | |
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun | 16:44 | |
-!- in3xes1 [~in3xes@180.149.49.227] has quit [Ping timeout: 276 seconds] | 16:48 | |
-!- in3xes1 [~in3xes@180.149.49.227] has joined #shogun | 17:29 | |
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds] | 17:32 | |
-!- in3xes1 [~in3xes@180.149.49.227] has quit [Ping timeout: 276 seconds] | 17:38 | |
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun | 18:02 | |
-!- in3xes_ is now known as in3xes | 18:06 | |
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun | 18:53 | |
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 255 seconds] | 18:56 | |
-!- in3xes1 [~in3xes@180.149.49.227] has joined #shogun | 19:30 | |
-!- cwidmer [~quassel@connect.tuebingen.mpg.de] has quit [Remote host closed the connection] | 19:33 | |
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Ping timeout: 258 seconds] | 19:33 | |
blackburn | sonney2k: if we was using ARPACK (http://www.caam.rice.edu/software/ARPACK/) my algos would be faster - is it possible to include it to shogun? | 19:40 |
blackburn | for example in LLE NxN eigenproblem is solved | 19:42 |
blackburn | and after we pick just 2,3 or so of all N eigenvectors | 19:42 |
blackburn | not efficient, lanzcos algorithm could do it faster | 19:42 |
-!- in3xes1 is now known as in3xes | 19:49 | |
@sonney2k | blackburn, sure why not - but make it optional(!) | 19:59 |
@sonney2k | i.e. it must work with lapack only too | 20:01 |
@sonney2k | blackburn, anyway you should better prepare for your exam right now! much more important than GSoC! | 20:03 |
-!- f-x [~user@117.192.218.39] has joined #shogun | 20:14 | |
@sonney2k | serialhex, hmmhh 50% only means random chance | 20:21 |
serialhex | yeah sonney2k... i dont know what the deal is, but i's better than 0 | 20:21 |
@sonney2k | so out == 0 is the problem | 20:21 |
serialhex | out == 0??? | 20:23 |
serialhex | you mean for this line: testerr = mean out.sign.eql_items? testlab | 20:25 |
serialhex | i should probably make it clearer like so: testerr = mean( out.sign.eql_items? testlab ) | 20:25 |
blackburn | sonney2k: ah, I see. so I could use lapack if arpack is not available, right? | 20:56 |
blackburn | ah exam right :D | 20:56 |
@bettyboo | haha | 20:56 |
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 244 seconds] | 21:17 | |
--- Log closed Fri Jun 10 00:00:14 2011 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!