[R] segfault during example(svm)

Juergen Rose rose at rz.uni-potsdam.de
Fri Feb 18 21:32:00 CET 2011


Am Freitag, den 18.02.2011, 11:53 -0800 schrieb Peter Ehlers:
> On 2011-02-18 11:16, Juergen Rose wrote:
> > If do:
> >> library("e1071")
> >> example(svm)
> >
> > I get:
> >
> >
> > svm>  data(iris)
> >
> > svm>  attach(iris)
> >
> > svm>  ## classification mode
> > svm>  # default with factor response:
> > svm>  model<- svm(Species ~ ., data = iris)
> >
> > svm>  # alternatively the traditional interface:
> > svm>  x<- subset(iris, select = -Species)
> >
> > svm>  y<- Species
> >
> > svm>  model<- svm(x, y)
> >
> > svm>  print(model)
> >
> > Call:
> > svm.default(x = x, y = y)
> >
> >
> > Parameters:
> >     SVM-Type:  C-classification
> >   SVM-Kernel:  radial
> >         cost:  1
> >        gamma:  0.25
> >
> > Number of Support Vectors:  51
> >
> >
> > svm>  summary(model)
> >
> > Call:
> > svm.default(x = x, y = y)
> >
> >
> > Parameters:
> >     SVM-Type:  C-classification
> >   SVM-Kernel:  radial
> >         cost:  1
> >        gamma:  0.25
> >
> > Number of Support Vectors:  51
> >
> >   ( 8 22 21 )
> >
> >
> > Number of Classes:  3
> >
> > Levels:
> >   setosa versicolor virginica
> >
> >
> >
> >
> > svm>  # test with train data
> > svm>  pred<- predict(model, x)
> >
> > svm>  # (same as:)
> > svm>  pred<- fitted(model)
> >
> > svm>  # Check accuracy:
> > svm>  table(pred, y)
> >              y
> > pred         setosa versicolor virginica
> >    setosa         50          0         0
> >    versicolor      0         48         2
> >    virginica       0          2        48
> >
> > svm>  # compute decision values and probabilities:
> > svm>  pred<- predict(model, x, decision.values = TRUE)
> >
> > svm>  attr(pred, "decision.values")[1:4,]
> >    setosa/versicolor setosa/virginica versicolor/virginica
> > 1          1.196152         1.091460            0.6705626
> > 2          1.064621         1.056332            0.8479934
> > 3          1.180842         1.074534            0.6436474
> > 4          1.110699         1.053143            0.6778595
> >
> > svm>  # visualize (classes by color, SV by crosses):
> > svm>  plot(cmdscale(dist(iris[,-5])),
> > svm+      col = as.integer(iris[,5]),
> > svm+      pch = c("o","+")[1:150 %in% model$index + 1])
> >
> >   *** caught segfault ***
> > address (nil), cause 'unknown'
> >
> > Traceback:
> >   1: .Call("La_rs", x, only.values, PACKAGE = "base")
> >   2: eigen(-x/2, symmetric = TRUE)
> >   3: cmdscale(dist(iris[, -5]))
> >   4: plot(cmdscale(dist(iris[, -5])), col = as.integer(iris[, 5]),
> > pch = c("o", "+")[1:150 %in% model$index + 1])
> >   5: eval.with.vis(expr, envir, enclos)
> >   6: eval.with.vis(ei, envir)
> >   7: source(tf, local, echo = echo, prompt.echo = paste(prompt.prefix,
> > getOption("prompt"), sep = ""), continue.echo = paste(prompt.prefix,
> > getOption("continue"), sep = ""), verbose = verbose, max.deparse.length
> > = Inf,     encoding = "UTF-8", skip.echo = skips, keep.source = TRUE)
> >   8: example(svm)
> >
> > Possible actions:
> > 1: abort (with core dump, if enabled)
> > ..
> >
> > I did already "update.packages(), what can I still do.
> 
> Works just fine for me. What's your sessionInfo()?
> Here's mine:
>  > sessionInfo()
> R version 2.12.1 Patched (2010-12-27 r53883)
> Platform: i386-pc-mingw32/i386 (32-bit)
> 
> locale:
> [1] LC_COLLATE=English_Canada.1252  LC_CTYPE=English_Canada.1252
> [3] LC_MONETARY=English_Canada.1252 LC_NUMERIC=C
> [5] LC_TIME=English_Canada.1252
> 
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
> 
> other attached packages:
> [1] e1071_1.5-24 class_7.3-3
> 
> loaded via a namespace (and not attached):
> [1] tools_2.12.1


> sessionInfo()
R version 2.12.1 (2010-12-16)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=C              LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods
base     

It is working at some of my systems and is failing at the most.



More information about the R-help mailing list