[R] Kernlab: multidimensional targets in rvm(), ksvm(), gausspr()
    Emiliano Guevara 
    emiguevara at gmail.com
       
    Tue Oct  6 12:03:06 CEST 2009
    
    
  
Hi there,
I'm trying to do a regression experiment on a multidimensional
dataset where both x and y in the model are multidimensional
vectors.
I'm using R version 2.9.2, updated packages, on a Linux box.
I've tried gausspr(), ksvm() and rvm(), and the models are
computed fine, but I'm always getting the same error message
when I try to use predict():
"Error in .local(object, ...) : test vector does not match model !"
I realize that maybe kernlab does not support the kind of
operation I'm trying to do, but I still haven't found any
explicit statement saying that multidimensional targets are not
supported...
Do you have any suggestions?
Is there a way to avoid the error in kernlab?
Any alternative approaches (other that drastically reducing
dimensionality...)?
Thanks a lot for your support!
E.G.
Here's a toy example that produces the error message:
# build x and y matrices
 > x <- sample(seq(-20,20,0.1), 100)
 > y <- sin(x)/x + rnorm(100,sd=0.05)
 > x <- matrix(x, nrow=25, ncol=4)
 > y <- matrix(y, nrow=25, ncol=4)
# build the model: seems successful
 > foo <- rvm(x, y) # same with ksvm(), gausspr(), ecc.
Using automatic sigma estimation (sigest) for RBF or laplace kernel
 > foo
Relevance Vector Machine object of class "rvm"
Problem type: regression
Gaussian Radial Basis kernel function.
  Hyperparameter : sigma =  0.00179432103430767
Number of Relevance Vectors : 7
Variance :  0.05937295
Training error : 0.049660537
# but predict fails...
 > predict(foo, x)
Error in .local(object, ...) : test vector does not match model !
**********************************************************************
Emiliano R. Guevara
Institutt for lingvistiske og nordiske studier -- Universitetet i Oslo
PO Box 1102, Blindern, 0317 Oslo, Norway
    
    
More information about the R-help
mailing list