[R] error in plotting model from kernlab

PIKAL Petr petr@pik@l @ending from prechez@@cz
Tue Jan 8 16:12:01 CET 2019


Hi

I cannot help you with kernlab

> >  pred = predict(mod, df, type = "probabilities")
> >  acc = table(pred, df$cons)
> Error in table(pred, df$cons) : all arguments must have the same length
> which again is weird since mod, df and df$cons are made from the same
> dataframe.

Why not check length of those objects?

length(pred)
length(df$cons)

> > plot(mod, data = df)
> > kernlab::plot(mod, data = df)
> but I get this error:
>
> Error in .local(x, ...) :
>   Only plots of classification ksvm objects supported
>

seems to me selfexplanatory. What did maintainer said about it?

Cheers
Petr


> -----Original Message-----
> From: R-help <r-help-bounces using r-project.org> On Behalf Of Luigi Marongiu
> Sent: Monday, January 7, 2019 1:26 PM
> To: r-help <r-help using r-project.org>
> Subject: [R] error in plotting model from kernlab
>
> Dear all,
> I have a set of data in this form:
> > str <data>
> 'data.frame': 1574 obs. of  14 variables:
>  $ serial: int  12751 14157 7226 15663 11088 10464 1003 10427 11934 3999
> ...
>  $ plate : int  43 46 22 50 38 37 3 37 41 11 ...
>  $ well  : int  79 333 314 303 336 96 235 59 30 159 ...
>  $ sample: int  266 295 151 327 231 218 21 218 249 84 ...
>  $ target: chr  "HEV 2-AI5IQWR" "Dientamoeba fragilis-AIHSPMK" "Astro
> 2 Liu-AI20UKB" "C difficile GDH-AIS086J" ...
>  $ ori.ct: num  0 33.5 0 0 0 ...
>  $ ct.out: int  0 1 0 0 0 0 0 1 0 0 ...
>  $ mr    : num  -0.002 0.109 0.002 0 0.001 0.006 0.015 0.119 0.003 0.004 ...
>  $ fcn   : num  44.54 36.74 6.78 43.09 44.87 ...
>  $ mr.out: int  0 1 0 0 0 0 0 1 0 0 ...
>  $ oper.a: int  0 1 0 0 0 0 0 1 0 0 ...
>  $ oper.b: int  0 1 0 0 0 0 0 1 0 0 ...
>  $ oper.c: int  0 1 0 0 0 0 0 1 0 0 ...
>  $ cons  : int  0 1 0 0 0 0 0 1 0 0 ...
> from which I have selected two numerical variables correspondig to x
> and y in a Cartesian plane and one outcome variable (z):
> > df = subset(t.data, select = c(mr, fcn, cons))
> >  df$cons = factor(c("negative", "positive"))
> > head(df)
>       mr   fcn     cons
> 1 -0.002 44.54 negative
> 2  0.109 36.74 positive
> 3  0.002  6.78 negative
> 4  0.000 43.09 positive
> 5  0.001 44.87 negative
> 6  0.006  2.82 positive
>
> I created an SVM the method with the KERNLAB package with:
> > mod = ksvm(cons ~ mr+fcn, # i prefer it to the more canonical "." but the
> outcome is the same
>             data = df,
>             type = "C-bsvc",
>             kernel = "rbfdot",
>             kpar = "automatic",
>             C = 10,
>             prob.model = TRUE)
>
> > mod
> Support Vector Machine object of class "ksvm"
>
> SV type: C-bsvc  (classification)
>  parameter : cost C = 10
>
> Gaussian Radial Basis kernel function.
>  Hyperparameter : sigma =  42.0923201429106
>
> Number of Support Vectors : 1439
>
> Objective Function Value : -12873.45
> Training error : 0.39263
> Probability model included.
>
> First of all, I am not sure if the model worked because 1439 support
> vectors out of 1574 data points means that over 90% of the data is
> required to fix the hyperplane. this does not look like a model but a
> patch. Secondly, the prediction is rubbish -- but this is another
> story -- and when I try to create a confusion table of the processed
> data I get:
> >  pred = predict(mod, df, type = "probabilities")
> >  acc = table(pred, df$cons)
> Error in table(pred, df$cons) : all arguments must have the same length
> which again is weird since mod, df and df$cons are made from the same
> dataframe.
>
> Coming to the actual error, I tried to plot the model with:
> > plot(mod, data = df)
> > kernlab::plot(mod, data = df)
> but I get this error:
>
> Error in .local(x, ...) :
>   Only plots of classification ksvm objects supported
>
> Would you know what I am missing?
> Thank you
> --
> Best regards,
> Luigi
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
Osobní údaje: Informace o zpracování a ochraně osobních údajů obchodních partnerů PRECHEZA a.s. jsou zveřejněny na: https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information about processing and protection of business partner’s personal data are available on website: https://www.precheza.cz/en/personal-data-protection-principles/
Důvěrnost: Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a podléhají tomuto právně závaznému prohláąení o vyloučení odpovědnosti: https://www.precheza.cz/01-dovetek/ | This email and any documents attached to it may be confidential and are subject to the legally binding disclaimer: https://www.precheza.cz/en/01-disclaimer/



More information about the R-help mailing list