IRC logs of #shogun for Friday, 2018-02-09

--- Log opened Fri Feb 09 00:00:54 2018
-!- witness [uid10044@gateway/web/irccloud.com/x-vtjaiunahhborlaw] has joined #shogun03:08
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has joined #shogun10:41
-!- mode/#shogun [+o HeikoS] by ChanServ10:41
@HeikoSlisitsyn: nice!10:53
lisitsynHeikoS: do you want me to fix the message or we merge it as is? ;)10:57
@HeikoSnah merge it10:57
@HeikoSIll do that :)10:57
lisitsynunit tests passed locally10:58
lisitsynbut travis always timeouts10:58
lisitsynHeikoS: can we maybe ask travis to raise the limit?10:58
lisitsynwe lack just ten minutes usually10:58
@HeikoSyep10:58
@HeikoSi dont know how to do that :)10:58
lisitsynlets yell until they raise10:58
lisitsynTRAVIS RAISE THE LIMIT10:58
lisitsynTRAVIS10:58
lisitsynTRAVIS10:58
@HeikoSTRAAAVIIIIISSS10:58
lisitsyndidn't help yet10:58
@HeikoSyou didnt yell loud enough10:59
@HeikoSLOUDER!10:59
@HeikoSlisitsyn: merge!11:03
lisitsynok11:03
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4162 merged by lisitsyn11:03
@sukey[https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/d1763b83fbc029bae1487201ef56977efdfe43a0 by lisitsyn11:03
lisitsynHeikoS: okk cast is next11:03
@HeikoSyep do it11:03
@HeikoSI will prepare the interface in the meantime11:03
@HeikoSswig will only have sgobj11:03
@HeikoSc++ will have all types11:03
@HeikoSand we register as sgobj11:03
@HeikoSso SG_ADD stays11:03
lisitsynyeap11:11
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4163 opened by syashakash11:16
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/416311:17
lisitsynHeikoS: do you do permutation tests often?11:17
@HeikoSlisitsyn: yes11:18
lisitsynHeikoS: should we have something for that in shogun?11:18
@HeikoSyes11:18
@HeikoSultrafast mmd permutation test11:18
@HeikoSbut it is based on kernel-test11:18
@HeikoSlambday wrote this cache friendly implementation11:18
lisitsynHeikoS: you know I teach some kind of data science11:18
lisitsynand instead of `statistics` I teach two things11:19
lisitsynpermutation test for A/B11:19
@HeikoShttp://www.shogun-toolbox.org/notebook/latest/mmd_two_sample_testing.html11:19
lisitsynand bootstrapping for confidence11:19
lisitsyn:)11:19
lisitsynthat's it11:19
@HeikoSI think this might be useful11:19
@HeikoSthe test statistic is based on kernels11:19
@HeikoSbut that doesnt matter to much11:19
@HeikoSit is a non-parametric two -sample test11:19
lisitsynyeah but this is a bit more advanced11:19
@HeikoSand you need to permute to compute the null11:19
@HeikoSif you treat the test statistic as a black box?11:20
@HeikoSjust say: "it is a t-test in a feature space"11:20
lisitsynhaha11:20
lisitsynsay to whom?11:20
@HeikoSthe notebook samples from null and alternative via permutation11:20
@HeikoSto your students? :)11:20
lisitsynt-test in a feature space? :)11:20
lisitsynI explicitly avoid t-tests11:21
lisitsynmy point is that11:21
lisitsynif you don't want to be smart11:21
lisitsynjust use your computer11:21
lisitsyn:)11:21
-shogun-buildbot:#shogun- Build trusty - libshogun - viennacl #321 is complete: Failure [failed test (failure)] - http://buildbot.shogun-toolbox.org:8080/#builders/6/builds/32111:21
lisitsynlike don't care about distribution of statistics, just use permutation11:21
lisitsynHeikoS: apart from shogun11:23
lisitsyndo you think it is a good idea to avoid all the classical stats11:23
lisitsynbut permutation and bootstrap11:23
@HeikoSlisitsyn: then use the kernel test11:23
@HeikoSthat's exactly the point of it :)11:23
@HeikoSlisitsyn: I think you might be mixing two different things11:23
lisitsynwhat things?11:23
@HeikoSpermutation is just to get your hands on the calibration level of the test11:24
@HeikoSbut the test itself has some kind of classes of problems that it can solve associated to it11:24
@HeikoSthe permutation is a tool that makes your test work11:24
@HeikoSnot a test itself11:24
lisitsynHeikoS: no-no I am not mixing :)11:24
@HeikoSmaybe I dont understand what you mean by permutation :)11:24
lisitsynHeikoS: ok I say sometimes you have A/B problem11:24
@HeikoSwhat is that?11:24
lisitsynyou say measure means of something11:25
lisitsynlike A/B testing11:25
lisitsyntwo samples11:25
lisitsyn:)11:25
@HeikoSah ok11:25
@HeikoSyes11:25
lisitsynHeikoS: so you get difference of 0.311:25
@HeikoSis p(a)=p(b)?11:25
@HeikoSwhat different?11:25
@HeikoSin mean?11:25
lisitsynyeah means are different by 3%11:25
lisitsyncan you believe it or it is by chance11:25
@HeikoSthat's a t-test 8-)11:25
lisitsynHeikoS: yes in case of means11:25
lisitsynbut11:25
lisitsynHeikoS: I say we need P(D|H0)11:26
lisitsynso lets make H0 true11:26
@HeikoSyes sure11:26
@HeikoSnow I know what you want11:26
lisitsynpermute the thing11:26
@HeikoSyou want to know how much variation is in there by chance under H011:26
lisitsynHeikoS: exactly11:26
lisitsynand how often we get such D11:26
lisitsynby chance11:26
lisitsynaaand p-value11:26
lisitsynHeikoS: that's how I avoid t-test, chi2 test whatever11:27
lisitsynI just say if you have two samples and you can compare them11:27
lisitsynpermute and measure few times11:27
lisitsyndo you like this approach?11:27
lisitsyn(I have limited time to teach stats)11:27
@HeikoSbut wait11:27
@HeikoSthat IS a t test11:27
@HeikoSbut an expensive way to do it11:27
@HeikoSif you compare the mean11:28
lisitsynHeikoS: in case of mean yes11:28
lisitsynbut you can replace mean with something else11:28
@HeikoSthen you know the asymptotic distribution of the difference under Hss11:28
lisitsynand follow the same approach11:28
@HeikoSH011:28
@HeikoSyeah11:28
@HeikoStrue11:28
lisitsynthat's the point11:28
@HeikoSso the kernel thing11:28
lisitsynsay comparing medians (which might be stupid)11:28
@HeikoSdoes mean in kernel space11:28
@HeikoSwhich captures everythign you want11:28
lisitsynHeikoS: oh well I understand that but I don't have any clue how to teach that at the same time11:29
lisitsynbut having that in shogun is good for sure :)11:29
@HeikoSlol11:29
@HeikoSin shogun11:29
@HeikoSthere is a framework to do permutation tests with any statistic11:29
@HeikoSso you could modify it for mean/median11:29
@HeikoSwhatever you want11:29
lisitsynHeikoS: yeah but I am checking your opinion on that teaching approach :) (separate from shogun)11:30
@HeikoSah I see11:30
@HeikoSI think you want to first explain t-test :)11:30
@HeikoSand that it is comparing mean11:30
@HeikoSand then you want to explain the problem of calibration, i.e. how much variation is to expect11:30
@HeikoSthen you introduce permutation test11:30
@HeikoSbut then you also say, that for t-test the distribution of the statistic under H0 is closed form11:30
lisitsynHeikoS: ok ok but we're talking about people who desperately want to avoid maths11:31
lisitsyn:)11:31
lisitsynit is not students from uni11:31
lisitsynit is data science course11:31
@HeikoSyou don't need to explain math I think11:31
@HeikoSjust say THAT this thing is also known in case of comparing mean11:32
@HeikoSno good? :)11:32
lisitsynyeah I say that actually11:32
lisitsynI say that if you're sure it is the test you want11:32
lisitsynuse it11:32
lisitsynbut if you don't care - permute11:32
@HeikoSbut wait11:33
@HeikoSpermute is just a tool11:33
@HeikoSwhat matters is the test statistic11:33
@HeikoSif you permute and compute difference in means11:33
@HeikoSthat is ttest11:33
@HeikoSso what you care about is the statistic you use11:33
@HeikoSthe statement "if you are unsure, just permute" I think it doesnt make sense11:34
@HeikoSsince you still need to decide on what is the test statistic11:35
-shogun-buildbot:#shogun- Build deb1 - libshogun #299 is complete: Failure [failed test (failure)] - http://buildbot.shogun-toolbox.org:8080/#builders/10/builds/29911:38
durovo1HeikoS: Hi, the follwing paper was used as a reference for MulticlassStrategy and MulticlassMachine prob calibration: <https://hal.inria.fr/inria-00103955/document>11:42
durovo1Currently, for OVA_SOFTMAX, the parameters fitted on a Sigmoid (the parameters learned at line 132 of MulticlassMachine.cpp and used for softmax at line 158, the implementation of softmax is in MultilcassStrategyOneVsRest.cpp line 108) are being used. However, the probability output in softmax is different from sigmoid (see eq 7 in the paper). Is it correct to use parameters fitted on a sigmoid function in a softmax function?11:42
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/416311:45
@HeikoSdurovo1: hello11:45
@HeikoSnopr11:46
@HeikoSnope11:46
@HeikoSprobably not11:46
@wikinglisitsyn, bazdmeg!11:46
@HeikoSdurovo1: you have a suggestion to fix? :)11:46
@wikinglisitsyn, bazdmeg i'm serious bazdmeg!11:46
lisitsynHeikoS: uhmm yes you still have to decide but you might not care about the distribution of statistics11:47
lisitsynwiking: bazdmeg?11:47
@wikingbazdmeg why u ignore me? :)11:47
@wikingbazdmeg11:47
@wiking:D11:47
durovo1HeikoS: I'll try searching for one.11:48
lisitsynHeikoS: you still can compare quantiles of 0.25 of two samples with permutation, right?11:48
@HeikoSlisitsyn: I think if you know that someone figured out the distribution, then you use that. Otherwise, you just permute, agreed11:48
@HeikoSlisitsyn: you can11:48
lisitsynwhat is the distribution of that I don't even know11:48
@HeikoSbut it is expensive if someone has figured out that the distrubution is gaussian with known mean and variance11:48
@HeikoSlike when you compare the means11:48
-!- travis-ci [~travis-ci@ec2-54-196-244-45.compute-1.amazonaws.com] has joined #shogun11:48
travis-ciit's Viktor Gal's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/33938434511:48
-!- travis-ci [~travis-ci@ec2-54-196-244-45.compute-1.amazonaws.com] has left #shogun []11:48
@HeikoSyou *know* it11:48
lisitsynHeikoS: true11:48
lisitsynthat's exactly my point11:48
@HeikoSdurovo1: maybe you can put up an example as a gist?11:49
@HeikoSdurovo1: or give me a link to the source files you mean11:49
lisitsynchoosing statistics + permutation is a bit easier but if you know then you know :)11:49
@HeikoSlisitsyn: yes11:49
@HeikoSlisitsyn: one thing11:49
@HeikoSreally important11:49
@HeikoSif you do permutation11:49
@HeikoSthat needs to be done on a  hold out dataset11:49
@HeikoSand then the test itself has to be performed on different data11:49
durovo1HeikoS: I am a bit confused here .. are you talking about the source code of the solution when I find it?11:50
@HeikoSso the p-value is computed on training data, and then the test is computed on test data11:50
@HeikoSdurovo1: no the lines in shogun code, a github link11:50
lisitsynHeikoS: uhm11:50
durovo1HeikoS: Oh, sure11:50
lisitsynsay you have two samples11:50
lisitsynwhat do you do then?11:50
@HeikoSdurovo1: like this https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/clustering/Hierarchical.cpp#L511:50
lisitsyntrain/test split and then permute test and compare test?11:51
@HeikoSlisitsyn: you have 1000 samples each from A and B11:51
@HeikoSand you are interested in dist(A)==dist(B)11:51
lisitsyn1000 permuted samples?11:51
@HeikoSnono data11:51
lisitsynexamples/points?11:51
@HeikoSyes11:51
lisitsynok11:51
@HeikoSthen you divide each A and B into half11:51
@HeikoSthen you do your permutation thingi on the first half of each A and B11:51
lisitsynuhmm11:51
@HeikoSthis gives you a threshold11:51
lisitsynyes11:52
@HeikoSand then you compute the test statistic on the second half of A and B11:52
lisitsynI don't do that11:52
lisitsyn:)11:52
@HeikoSand compare it against the threshold that you computed on the first half11:52
lisitsynbut this makes sense indeed11:52
@HeikoSthen your test is wrong :)11:52
lisitsynhow wrong?11:52
@HeikoSpretty badly :)11:52
@HeikoSnot consistent11:52
@HeikoSthe permutation gives wrong answer11:52
@HeikoSand as you permute more and more, it doesnt converge to the true11:52
durovo1HeikoS: understood, will do that in a few minutes11:52
lisitsynHeikoS: ok let me cry for a bit11:53
@HeikoSlisitsyn: hehe11:53
@HeikoSman!11:53
@HeikoSit's all in the shogun notebook :D11:53
@HeikoSyou should have read it :D11:54
@HeikoSlisitsyn: btw your error msg doesnt work11:54
@HeikoS628: SystemError: [ERROR] In file /home/heiko/git/shogun/src/shogun/base/SGObject.h line 357: Type for parameter with name "kernel" is not correct.11:54
lisitsynHeikoS: argh11:55
@HeikoSlisitsyn: because it does has first11:55
@HeikoS"has<..:>(name)"11:55
lisitsynHeikoS: didn't change the message in put11:55
@HeikoSdont worry I can do11:55
durovo1HeikoS:11:56
durovo1fit sigmoid call in multiclass machine <https://github.com/shogun-toolbox/shogun/blob/d1763b83fbc029bae1487201ef56977efdfe43a0/src/shogun/machine/MulticlassMachine.cpp#L132>11:56
@HeikoSIll take a little break, ill be back in 1011:56
durovo1understood11:57
@HeikoSlisitsyn: you didnt read the error message it produced :)12:12
lisitsynHeikoS: I fixed the get :)12:12
lisitsynnot put12:12
lisitsynthat's the problem12:12
@HeikoSno I mean the one in put :)12:12
lisitsyneh?12:12
@HeikoS3 times %s but only two populated12:13
@HeikoS:D12:13
lisitsynargh12:13
lisitsynin get?12:13
lisitsynok happens12:13
lisitsyn:)12:13
lisitsynHeikoS: well you wanted to change it anyway :P12:13
@HeikoS:P12:14
lisitsynHeikoS: put is a bit different actually12:14
lisitsynno exception is thrown12:14
@HeikoSyes12:14
@HeikoSBUT12:14
@HeikoSI changed that12:14
lisitsynyou can just try12:14
lisitsyninstead of checking12:14
@HeikoSthere is this has<T>(tag)12:14
@HeikoStry12:14
@HeikoS{12:14
@HeikoSref_value(&value);12:14
@HeikoSupdate_parameter(_tag, make_any(value));12:14
@HeikoS}12:14
@HeikoSwill this throw the same exception?12:15
lisitsynHeikoS: should do12:15
@HeikoSI replaced "has" with try12:15
@HeikoSkk12:15
@HeikoSlisitsyn: ah no doesnt compile12:16
@HeikoSI think I will just try the any_cast you did in get?12:16
lisitsynHeikoS: yes12:16
lisitsynjust baaam12:16
lisitsynand if it fails12:16
lisitsynok12:16
lisitsyn:)12:16
lisitsynHeikoS: can you point me to any book that has that permutation train/test split?12:17
lisitsynis it always true?12:17
@HeikoSonly math books12:17
@HeikoSyes12:17
lisitsynyes but I can read math you know12:17
lisitsynHeikoS: if you glance over things like http://genomicsclass.github.io/book/pages/permutation_tests.html12:18
lisitsynno mention of that12:19
lisitsynI can believe people mistake that but are you sure? :)12:19
lisitsyncan that be it is only the case of kernel mmd or something?12:20
lisitsynI don't really get why you get *that* bad probabilities if you do t-test thingy with permutation12:20
@HeikoSlet me think a bit12:21
@HeikoSif it is only kernel test12:22
@HeikoSsince that is all I ever did12:22
-!- travis-ci [~travis-ci@ec2-54-166-128-254.compute-1.amazonaws.com] has joined #shogun12:22
travis-ciit's Viktor Gal's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/33938434512:22
-!- travis-ci [~travis-ci@ec2-54-166-128-254.compute-1.amazonaws.com] has left #shogun []12:22
@HeikoSlisitsyn: we had to do it as we were learning the kernel12:22
durovo1HeikoS: fit_sigmoid call in  MulticlassMachine: <https://github.com/shogun-toolbox/shogun/blob/d1763b83fbc029bae1487201ef56977efdfe43a0/src/shogun/machine/MulticlassMachine.cpp#L132> this calls is used to store the params in As and Bs.12:23
durovo1Then, As and Bs are used to rescale outputs in this line: <https://github.com/shogun-toolbox/shogun/blob/d1763b83fbc029bae1487201ef56977efdfe43a0/src/shogun/machine/MulticlassMachine.cpp#L157>12:23
durovo1This is only done when the probability heuristic is OVA_SOFTMAX12:23
durovo1Finally, this is the rescale implementation (which is correct I believe) : <https://github.com/shogun-toolbox/shogun/blob/d1763b83fbc029bae1487201ef56977efdfe43a0/src/shogun/multiclass/MulticlassOneVsRestStrategy.cpp#L108>12:23
@HeikoSlisitsyn: forgive me12:24
@HeikoSI was wrong !12:24
@HeikoSit is only if you are learning your test statistic12:24
@HeikoSbut if it is fixed, all good12:24
@HeikoSsorry12:24
@HeikoSshould have been more careful12:24
@HeikoSdurovo1: checking12:24
@HeikoSdurovo1: ok got the context, now what was the problem?12:25
@HeikoSthat the sigmoid is computed differently that in some reference?12:25
@HeikoSi.e. we are comparing apples and pears?12:25
durovo1yeah12:26
@HeikoSdurovo1: I guess that is true12:26
@HeikoSso we need to have two different methods and use them where appropriate12:26
durovo1parameters learnt for sigmoid are used in exp(A*out + B)/sum(A...)12:26
durovo1Yeah12:26
@HeikoSdurovo1: cool!12:28
@HeikoScan you make that a github issue?12:28
@HeikoSgood to find these things!12:28
durovo1Understood, i'll make that a github issue :slightly_smiling_face:12:29
@HeikoSlisitsyn: you hate me now? :D12:30
@HeikoSlisitsyn: btw is this reasonable to do in "put"12:30
@HeikoStry12:30
@HeikoS{12:30
@HeikoSany_cast<T>(get_parameter(_tag).get_value());12:30
@HeikoS}12:30
@HeikoSnah will not work12:31
@sukey[https://github.com/shogun-toolbox/shogun] Issue https://github.com/shogun-toolbox/shogun/issues/4164 opened by durovo12:39
-!- king [5862c914@gateway/web/freenode/ip.88.98.201.20] has joined #shogun12:50
kingHello12:50
kingis it possible to get true positive rate etc out of shogun? I cant find it anywhere12:51
@HeikoSlisitsyn:12:52
@HeikoS338: SystemError: [ERROR] In file /home/heiko/git/shogun/src/shogun/base/SGObject.h line 357: Setting parameter LibSVM::kernel failed. Provided type is shogun::CSGObject*, but actual type is shogun::CSGObject const*.12:52
@HeikoS338:12:52
@HeikoSking: http://www.shogun-toolbox.org/api/latest/classshogun_1_1CContingencyTableEvaluation.html12:52
@HeikoSfrom those you can get it12:53
kingthanks a lot!12:53
kinglegend12:53
@HeikoSking: or you compute it yourself in one line12:53
kinghow would i do that?12:54
@HeikoSask google :)12:54
kinglol12:54
kingthanks for the link12:55
kingsorry one more noob question while im here12:55
kinghow do i get info out of get_confusion_matrix12:56
-!- travis-ci [~travis-ci@ec2-54-166-128-254.compute-1.amazonaws.com] has joined #shogun12:56
travis-ciit's Sergey Lisitsyn's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/33938515712:56
-!- travis-ci [~travis-ci@ec2-54-166-128-254.compute-1.amazonaws.com] has left #shogun []12:56
kingi want to print the results12:56
@HeikoSwhat info?12:56
kingbut i know im not doing it right cos it just prints <built-in method get_confusion_matrix of SwigPyObjectType object at 0x00007FFC43572740>12:57
kingor am i missing the point12:57
@HeikoSlet me see12:57
kingi do12:57
kingconf_mat_knn = acc.get_confusion_matrix12:58
kingprint("Confusion Matrix: ", conf_mat_knn)12:58
lisitsynHeikoS: ahaa so it is only for kernel12:58
kingreturns <built-in method get_confusion_matrix of SwigPyObjectType object at 0x00007FFC43572740>12:58
@HeikoSacc.get_confision_matrix()12:58
kingahh12:59
@HeikoSeval.get_TP()12:59
@HeikoSis what you want12:59
kingyou are a hero thanks so much13:01
@HeikoS:)13:10
@HeikoSlisitsyn: python and c++ now work13:11
-!- king [5862c914@gateway/web/freenode/ip.88.98.201.20] has quit [Quit: Page closed]13:19
-!- king [5862c914@gateway/web/freenode/ip.88.98.201.20] has joined #shogun13:21
-!- travis-ci [~travis-ci@ec2-54-166-128-254.compute-1.amazonaws.com] has joined #shogun13:31
travis-ciit's Sergey Lisitsyn's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/33938515713:31
-!- travis-ci [~travis-ci@ec2-54-166-128-254.compute-1.amazonaws.com] has left #shogun []13:31
@HeikoSlisitsyn: looks like we don't need casting patch for any13:43
lisitsynHeikoS: ok cool14:53
@HeikoSlisitsyn: you know what it was?15:17
@HeikoSconst vs non-const CSGObject15:17
@HeikoSfor python at least15:18
@HeikoSjust re-doing the octave fix in swig .i files and then see how it goes15:19
@HeikoStag_float15:22
@HeikoS>> cast(4.0, "double")15:22
@HeikoSans =  415:22
@HeikoSoctave is amazing15:22
-!- king [5862c914@gateway/web/freenode/ip.88.98.201.20] has quit [Quit: Page closed]15:22
@HeikoSlisitsyn: you there?16:02
lisitsynHeikoS: what works what not?16:23
lisitsyn:)16:23
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4165 opened by karlnapf16:30
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/416516:31
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/416516:31
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/416516:32
lisitsynHeikoS: tell me!17:06
@wikingHeikoS,17:09
@wikinghttps://github.com/shogun-toolbox/shogun/pull/4165/commits/1723a3bbf5b5932310e6ef1e5285fd1c6c9a6f1f#diff-1689b0bd3ceb28355cc3c05ed7ffe4f0R39017:09
@wikingthis is nopoint17:09
@wikingi mean the problem is that you are presumoing17:09
@wikingthis way that there are 2 ways of bulding17:10
@wikingshogun itself :(17:10
@wikingskipping some stuff in the interface is cool17:10
@wikingbut doing something else if it's swig is danger17:10
@wikingi would actually change https://github.com/shogun-toolbox/shogun/pull/4165/commits/1723a3bbf5b5932310e6ef1e5285fd1c6c9a6f1f#diff-1689b0bd3ceb28355cc3c05ed7ffe4f0R40317:11
@wikingthat it'd take anything and the tag above would have some magicmonkey17:11
@wikingto be actually taken for all classes17:11
@wikingHeikoS, the reason i kept these things out of a PR17:12
@wikingis because exactly the case17:12
@wikingthat we can collaborate17:12
@wikingnow you have moved this into your own repo17:12
@wikingi'll cherry pick your commit17:12
@wikinginto the typedo17:12
@wikingand push it there17:12
@wikingand push on top what i mean what to do instead of #else17:12
@HeikoSwiking: mmh ok17:24
@HeikoSlet me fix17:24
@sukey[https://github.com/shogun-toolbox/shogun] karlnapf pushed 6 commits:17:32
@sukeyhttps://github.com/shogun-toolbox/shogun/commit/bf4a64caacf5ac2fdd4d5f9cec4bc2f7c4f6640417:32
@sukeyhttps://github.com/shogun-toolbox/shogun/commit/cfb220c62b091ec27a1aaaaf03e4d1f6ab60b15c17:32
@sukeyhttps://github.com/shogun-toolbox/shogun/commit/a7a79f16442336cd21ed6bcd470d93c57e9430df17:32
@sukeyhttps://github.com/shogun-toolbox/shogun/commit/8e84e681a2321dc3b34c14c22898b947d63a68e017:32
@sukeyhttps://github.com/shogun-toolbox/shogun/commit/e0436be3e6c2916e59110253ba5023d1fc257e7917:32
@sukeyhttps://github.com/shogun-toolbox/shogun/commit/cc07657ed940e39f6e657c368c4c0493b0c8c62b17:32
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4165 closed by karlnapf17:32
@HeikoSwiking: put it in typedo17:36
@HeikoSfixing the #else17:36
@HeikoSand also java17:36
@HeikoSand then ruby17:36
@HeikoSand all the others ...17:36
@wikingruby?17:41
@HeikoSyep17:42
@HeikoStravis will tell17:42
@wikingah i know17:43
@wikingyeye17:43
@wikingi get it17:43
@wikingyeah that one was a huge mess gsoc push :)17:43
@wikingbut yeah i mean party they both worked17:43
@wikingthe last for the c++ the prior for the others17:43
@wikingonly the traits need to be a bit tricked17:43
@wikingand then it'll be fine17:43
@HeikoShaha17:44
@HeikoSok I have the #else remove and it still works17:44
@HeikoSjust doing a few checks and pushing17:44
@HeikoSjava vector is a bit more tricky17:44
@HeikoSunless we restrict to float64, then it should be easy17:44
@HeikoSlisitsyn: jo!17:45
lisitsynHeikoS: what is going on17:45
lisitsyn:)17:45
@HeikoSI think we might need the any cast after all17:45
@HeikoS:D17:45
@HeikoSSetting parameter LibSVM::kernel failed. Provided type is shogun::CKernel*, but actual type is shogun::CSGObject*.17:46
@HeikoSI can easily work around that for now17:46
@HeikoSbut would be good to have17:46
lisitsynHeikoS: ok but what works now?17:47
@HeikoSobject works17:48
@HeikoSwhen we downcast it explicitly17:49
@HeikoSfor all subclasses of SGObject17:49
@HeikoSsince everything is registered as SGObject using SG_ADD17:49
@HeikoSbut would be nicer if any could accept types that are castable into each other17:49
@HeikoSlisitsyn: https://github.com/shogun-toolbox/shogun/commit/cc07657ed940e39f6e657c368c4c0493b0c8c62b#diff-1689b0bd3ceb28355cc3c05ed7ffe4f0R38417:50
lisitsynHeikoS: ok17:50
lisitsynah17:50
lisitsyntricky17:50
lisitsyn!17:50
@HeikoSlisitsyn: if we don't downcast in put, we get17:52
@HeikoS Setting parameter LibSVM::kernel failed. Provided type is shogun::CKernel*, but actual type is shogun::CSGObject*.17:52
@HeikoSIll put a todo note in there17:52
@HeikoSfor now it works as SG_ADD downcasts17:52
lisitsynHeikoS: ok but having it downcasted is mostly fine17:52
lisitsyna17:52
lisitsynbut17:52
@HeikoSlisitsyn: it is ok17:52
lisitsynwe can set kernel to distance?17:53
lisitsynright?17:53
lisitsynput a kernel into features blabla?17:53
@HeikoSyeah17:53
@HeikoSbecause any just checks whether type matches17:53
@HeikoSnot if is can be converted17:53
lisitsynok this would be fixed if we used actual type17:53
@HeikoSyes17:53
lisitsynok I'll check if I can fix that17:53
@HeikoSin the assignment, it needs to check whether the classes match17:54
@HeikoSthen we can leave the SG_ADD17:54
@HeikoSmake all new registers using the actual type17:54
@HeikoSand everything works17:54
lisitsynHeikoS: no, no need to register with the actual type17:54
@HeikoSlisitsyn: I dont mean changing the old17:55
@HeikoSbut for new classes17:55
@HeikoSwe can avoid the static cast everywhere17:55
@HeikoSnicer17:55
@wikingok done with grading17:57
@wikinglemme check the stuff17:57
lisitsynHeikoS: oh trickier than I thought17:59
@HeikoSwiking: push incoming in 1 min17:59
@wikingk17:59
@sukey[https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/08434857d7ae183e94d8b9c9c4d90b1b4b8193a1 by karlnapf18:09
@wikingHeikoS, idgetit18:10
@wikinghttps://github.com/shogun-toolbox/shogun/commit/08434857d7ae183e94d8b9c9c4d90b1b4b8193a1#diff-1689b0bd3ceb28355cc3c05ed7ffe4f0R38418:10
@wiking?18:10
@wikingwhy18:10
@wikingwhy [[deprecated("asdf")]]18:10
@wikingis not good?18:10
@wikingindeed18:10
@wikingit should be that18:10
@wikingso that every time you use that you get a compiler asdf18:10
@wikingbtw this could be mosdef const18:11
@wikinghttps://github.com/shogun-toolbox/shogun/commit/08434857d7ae183e94d8b9c9c4d90b1b4b8193a1#diff-1689b0bd3ceb28355cc3c05ed7ffe4f0R39918:11
@wikingsorry that i'm commenting here18:11
@wikingsee this https://github.com/shogun-toolbox/shogun/commit/2f488e4558fe3d84e3babaa670714f3bd35a5803#diff-1689b0bd3ceb28355cc3c05ed7ffe4f0R36918:12
@HeikoSah noooo18:26
@HeikoSjust hitting the same problem as for the explicit template version18:26
@HeikoScannot make swig to match such methods:18:26
@HeikoSvoid put(const std::string& name, const SGMatrix<float64_t>& value)18:26
@HeikoSdoesnt use typemap18:26
@HeikoSlisitsyn: ^:(18:26
lisitsynHeikoS: again? :)18:27
@HeikoSyes18:27
@HeikoSnow it is coming from the swig %extend18:27
@HeikoS      (argument mismatch; DoubleMatrix cannot be converted to SWIGTYPE_p_SGMatrixT_double_t)18:28
@wikingHeikoS, const!18:28
@HeikoSis it the const?18:28
@wikingHeikoS, mmm18:28
@wikingi mean i dont get it18:28
@HeikoSit wasnt the const before18:28
@wikinglemme check your branch18:28
@HeikoSlet me push18:28
@wikingbut i dont get it18:28
@HeikoS1 sec18:28
@wikingwhy did you change? :)18:28
@wikingthere was a good reason18:28
@wikingwhy const and & has been removed18:28
@wiking:)18:28
@wikingi mean it was all working18:29
@wikingin swig18:29
@wiking:D18:29
@HeikoSit is still18:29
@HeikoSthis is a different issue18:29
@HeikoSbut maybe that fixes it18:29
@wikingthis18:29
@wikinghttps://github.com/shogun-toolbox/shogun/commit/2f488e4558fe3d84e3babaa670714f3bd35a580318:29
@HeikoSlet me push18:29
@wikingdefinitely18:29
@wikingworked with swig18:29
@wikingapart from18:29
@wikingSGO18:29
@wikingbut that's obvious why18:29
@wikingi dont get18:29
@wikingwhat is the diff issue?18:29
@HeikoSno rememer when the typemap didnt match the SGMatrix18:30
@wikingwhen/18:30
@wiking?18:30
@wikingwhich case18:30
@HeikoSnevermind18:30
@wikingSGM has and was matched18:30
@HeikoSI will push and you can see18:30
@HeikoSwhat I mean18:30
@wikingthat's 100%18:30
@HeikoSdifferent thing I am talking about18:31
@wikingk push18:31
@wikingcbut18:31
@wikingcan you put back18:31
@wikingthe deprecation?18:31
@wikingplz18:31
@sukey[https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/9e4a42f23b3c8224c6691980d7beae81a34d642f by karlnapf18:33
@HeikoSjava still has this missing import ( I put it in by hand locally)18:33
@HeikoSgotta run now18:33
@HeikoSwill be back on it tomorrow or so18:33
@HeikoSsee you all18:34
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has quit [Ping timeout: 264 seconds]18:38
-!- king [5862c914@gateway/web/freenode/ip.88.98.201.20] has joined #shogun18:45
kinghey anyone there?18:45
@wikingyes19:04
@wikingking, what'sup?19:04
kingdont worry resolved it now, thanks19:05
@wiking:) k19:06
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4163 synchronized by syashakash19:08
kingi do have a question actually19:16
kingso I would like to use AccuracyMeasure() to evaluate KNN results, but it wont accept multiclass labels or binary?19:16
kingi can get confusion matrix with MulticlassAccuracy and it works fine, but I would like to use AccuracyMeasure, or is this not possible19:18
-!- travis-ci [~travis-ci@ec2-54-196-244-45.compute-1.amazonaws.com] has joined #shogun19:25
travis-ciit's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/33955562519:25
-!- travis-ci [~travis-ci@ec2-54-196-244-45.compute-1.amazonaws.com] has left #shogun []19:25
kingit just gives me error saying SystemError: [ERROR] In file C:\bld\shogun-cpp_1512689666832\work\shogun-shogun_6.1.3\src\shogun\machine\Machine.cpp line 217: This machine does not support apply_binary()19:41
kingsorry, this error SystemError: [ERROR] In file C:\bld\shogun-cpp_1512689666832\work\shogun-shogun_6.1.3\src\shogun\evaluation\MulticlassAccuracy.cpp line 23: assertion ground_truth->get_label_type() == LT_MULTICLASS failed in shogun::CMulticlassAccuracy::evaluate file C:\bld\shogun-cpp_1512689666832\work\shogun-shogun_6.1.3\src\shogun\evaluation\MulticlassAccuracy.cpp line 2319:43
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4166 opened by durovo19:48
-!- travis-ci [~travis-ci@ec2-54-166-128-254.compute-1.amazonaws.com] has joined #shogun19:52
travis-ciit's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/33955562519:52
-!- travis-ci [~travis-ci@ec2-54-166-128-254.compute-1.amazonaws.com] has left #shogun []19:52
-!- travis-ci [~travis-ci@ec2-54-166-128-254.compute-1.amazonaws.com] has joined #shogun19:57
travis-ciit's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/33956603119:57
-!- travis-ci [~travis-ci@ec2-54-166-128-254.compute-1.amazonaws.com] has left #shogun []19:57
-!- durovo1 [~durovo@57.65.2ea9.ip4.static.sl-reverse.com] has quit [Remote host closed the connection]19:58
-!- durovo [~durovo@7d.78.2ea9.ip4.static.sl-reverse.com] has joined #shogun19:59
-!- travis-ci [~travis-ci@ec2-54-196-244-45.compute-1.amazonaws.com] has joined #shogun20:26
travis-ciit's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/33956603120:26
-!- travis-ci [~travis-ci@ec2-54-196-244-45.compute-1.amazonaws.com] has left #shogun []20:26
@wikinglisitsyn, https://www.youtube.com/watch?time_continue=56&v=RQZr2NgKPiU :)23:36
--- Log closed Sat Feb 10 00:00:56 2018

Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!