[R] Can't see what i did wrong..
Jessica Streicher
j.streicher at micromata.de
Thu Nov 15 17:43:25 CET 2012
Guess it has something t do with the values in prob.model. The classifiers with bad predicitons have positive values and the ones with good predictions have negative values.
On 15.11.2012, at 17:18, Jessica Streicher wrote:
> I'll try .. lets see
>
> dput(dframe)
> structure(list(PC1 = c(-112.131127281872, -116.596689350263,
> -128.974817313418, 1196.74257699487, 1216.80975908625, -162.017759589637,
> -85.3191578683763, -130.528496524968, -6.27985683466795, -110.832877061623,
> -127.466759201992, -106.169095838249, -135.615623230809, -140.740670692038,
> -163.111656805033), PC2 = c(-116.519244989851, 127.45362265627,
> -111.091607020859, -90.5227270764559, -123.103694889442, -92.620202365279,
> -31.3353634789021, -24.4646703348531, 627.701800243656, -5.87156108239855,
> -88.8993352468245, -106.166416491185, -95.3261810128253, -112.315850116593,
> -141.197051597155), PC3 = c(64.9404052536739, 259.296520455491,
> 81.2617131909924, -40.2969961195199, -49.959279821408, 114.342573713326,
> -127.625681151677, 293.080433739631, -130.564246301803, 243.838480231849,
> -188.819145619591, -184.73732844957, 68.0106824426824, -202.00600443294,
> -3.31973728306762), PC4 = c(56.5233383519436, -188.28891646169,
> 36.982033091297, 2.96535930848599, 38.9643424847775, 66.1927347587241,
> -70.2278717299823, 24.2000870994265, 85.41705362572, 81.3070906919206,
> -49.4076806523943, 44.4291395459566, 44.4189881931216, -47.787706169273,
> 60.3084338394971), PC5 = c(-24.4330445432631, 119.03248964697,
> 25.3182533898001, 2.22712423872515, 20.1564988015345, 8.58984063196041,
> -73.6618858270628, 154.531152822823, 80.0172481588946, -77.3997650093847,
> 12.5317198856102, 16.7807094602606, 21.9728292529402, 18.0679363256966,
> 14.8070821345172), PC6 = c(-3.51236160660659, 4.01466215993921,
> -14.0560600152898, 79.9790057450278, 63.8459665084246, 70.1505245709296,
> -9.72399636564978, -37.3441332401865, -20.0211154965333, 34.8148111484049,
> 19.6697124222742, -12.5006014423202, -35.9412566332911, 43.8525592643803,
> 49.0837309296695), PC7 = c(25.0416790893669, 29.2636829211613,
> 58.5827246416567, 24.5865832216293, -3.79787182743163, 32.269692748727,
> 9.13653843864113, 22.2828779024266, -1.74050522229119, -81.2339879700331,
> -8.39734635571791, 4.90076673663989, 26.3079758222854, -16.6096446464957,
> 27.2347172477201), PC8 = c(-7.21492487063905, 41.4415040543379,
> -6.8561527559211, -9.6515803005436, 40.5578239936188, 35.6268320766844,
> 4.33982606720149, -27.7334062748555, 1.58916911406888, 42.2854747927154,
> -19.0049848668069, 53.1381176037003, -43.7208819443017, -27.4638912504461,
> 26.0693753249626), PC9 = c(5.07013225478207, 3.80978415808406,
> -12.9265139792091, 22.3706065788694, 43.9527567691036, 44.7661368799448,
> -25.6398826082422, 4.37103700086919, -9.0919050870289, 11.9520700564903,
> -23.250383344361, -30.3220249879799, -46.3887501545308, -14.0817576379036,
> 16.168581787112), PC10 = c(-17.5630832749372, 52.568055046381,
> -9.07626573878839, -14.0951768936723, -5.23003343696749, 35.0154213026854,
> 0.272344896140687, 13.3950601982445, -1.5533667315822, -40.8292771335063,
> -6.65959388343316, 5.06195872128945, -22.7857465669081, 6.62863071798569,
> 18.3995069374505), PC11 = c(18.6010453343854, -28.4637751927999,
> 1.71806569355502, 46.1205174166346, 9.53199967063977, 41.2972754904467,
> 9.33464956019139, 23.3603727930995, 10.9744437554614, -0.126735591637572,
> 21.8896623331257, -10.457965922839, -18.8322478793736, 27.7321423838636,
> 28.4679654920173), PC12 = c(-2.22649901627144, 2.14317119837832,
> 8.11993688993784, -1.02101828008616, -3.02022884335462, 3.99260060747241,
> -3.98208300398649, -8.73435109273014, -15.4116191493509, -21.9916390100063,
> -24.5400095100928, 11.7508407539612, -4.82585090072434, -21.4330004806799,
> 4.07445502977139), PC13 = c(12.0478528474097, 19.1463355000476,
> -13.7614159178043, -2.45636501215998, 10.7570602509335, -27.124462677835,
> 2.50581414841615, -1.43645727084062, -9.92501401886999, 14.541265924675,
> 4.61925247518254, 31.9444025444124, 15.0123077631076, 1.73726777225125,
> -21.7438739224478), PC14 = c(-24.3652304503883, 21.1785358765272,
> 0.221058054284211, -28.7788948242716, -0.840491052309543, 40.1941623968201,
> -17.1958234033114, 7.5770624168308, 7.45003285540585, 15.5283651855595,
> -8.65376069406027, 9.56538784228923, 4.23345479961019, -1.50016336971708,
> 19.7559666669304), PC15 = c(9.92727520847547, -16.0078543011331,
> 3.37100252722285, 26.8689400893287, 16.2203912046009, -6.07396584265131,
> -7.32119707525572, 0.194098009190007, -10.3216068605436, -23.0845947221256,
> 0.696161095884098, -5.29057246485069, -1.79824229741562, -3.26507441975894,
> 1.08088312906883), class = c(0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0,
> 0, 0, 0, 0)), .Names = c("PC1", "PC2", "PC3", "PC4", "PC5", "PC6",
> "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14",
> "PC15", "class"), row.names = c("2396", "2754", "3645", "7122",
> "7106", "7172", "6761", "1599", "2107", "1865", "6795", "6913",
> "3329", "6836", "7229"), class = "data.frame")
>
> These are 15 of my samples, and it seems to work with just that.
>
> classifier<-ksvm(class~.,data=dframe,scaled=T,kernel="polydot",type="C-svc",
> C=1,kpar=list(degree=5,scale=1,offset=0),prob.model=T)
> pred.svm<-kernlab::predict(classifier,dframe[,1:15],type="probabilities");
>
> cbind(pred.svm[,2],dframe$class)
> [,1] [,2]
> [1,] 0.29135615 0
> [2,] 0.03668269 1
> [3,] 0.29135845 0
> [4,] 0.03667823 1
> [5,] 0.03667505 1
> [6,] 0.35437992 0
> [7,] 0.29135892 0
> [8,] 0.03667943 1
> [9,] 0.29121498 0
> [10,] 0.29121019 0
> [11,] 0.29132637 0
> [12,] 0.29135683 0
> [13,] 0.29134198 0
> [14,] 0.29132484 0
> [15,] 0.29132652 0
>
> Now that i managed to get me (and you) a closer look - seems like class labels switched maybe? pred.svm[,2] is named "1", but seems to have the probability to be class 0 in it.
> This does not always occur however, you may have to run it a few times.
>
> On 15.11.2012, at 16:47, Sarah Goslee wrote:
>
>> Hi Jessica,
>>
>> Talking may help you, but it's kind of a waste of time for the
>> thousands of readers of R-help unless you provide a reproducible
>> example and full context. We'd like to help, but can't without
>> adequate information.
>>
>> Sarah
>>
>> On Thu, Nov 15, 2012 at 9:48 AM, Jessica Streicher
>> <j.streicher at micromata.de> wrote:
>>> Now i let it run for one specific set and got the same bad result, then i deactivated the probabilities and got a good result, then i activated the probabilities again and got a good result .. huh???
>>>
>>> On 15.11.2012, at 15:32, Jessica Streicher wrote:
>>>
>>>> Its not scaling.. so..
>>>>
>>>> I guess i'll stay severely frustrated, and yes i know this is probably not enough information for anyone to help.
>>>> Still, talking helps ;)
>>>>
>>>> On 15.11.2012, at 15:15, Jessica Streicher wrote:
>>>>
>>>>> with
>>>>>
>>>>> pred.pca<-predict(splits[[i]]$pca,trainingData at samples)[,1:nPCs]
>>>>> dframe<-as.data.frame(cbind(pred.pca,class=isExplosive(trainingData,2)));
>>>>> results[[i]]$classifier<-ksvm(class~.,data=dframe,scaled=T,kernel="polydot",type="C-svc",
>>>>> C=C,kpar=list(degree=degree,scale=scale,offset=offset),prob.model=T)
>>>>>
>>>>> and a degree of 5 i get an error of 0 reported by the ksvm object. But when doing
>>>>>
>>>>> pred.pca<-predict(splits[[i]]$pca,trainingData at samples)[,1:nPCs]
>>>>> pred.svm<-kernlab::predict(results[[i]]$classifier,pred.pca,type="probabilities");
>>>>> results[[i]]$trainResults$predicted<-pred.svm[,2]
>>>>>
>>>>> the results vary widely from the class vector. Nearly all predictions are somewhat around 0.29. Its just strange. And i have no idea where things go wrong. They're in the same loop with i, so its probably not an indexing issue.
>>>>>
>>>>> Maybe kernlabs predict doesn't scale the data or something?
>>>>>
>>>>
>>
>>
>> --
>> Sarah Goslee
>> http://www.functionaldiversity.org
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list