Hi!

The kernlab function kpca() mentions that new observations can be transformed 
by using predict. Theres also an example in the documentation, but as you can 
see i am getting an error there (As i do with my own data). I'm not sure whats 
wrong at the moment. I haven't any predict functions written by myself in the 
workspace either. I've tested it with using the matrix version and the 
dataframe/formula version on kpca.

data(iris)
test <- sample(1:150,20)
kpc <- 
kpca(~.,data=iris[-test,-5],kernel="rbfdot",kpar=list(sigma=0.2),features=2)
emb <- predict(kpc,iris[test,-5])
Error in UseMethod("predict") : 
  no applicable method for 'predict' applied to an object of class "c('kpca', 
'prc')"

str(kpc)
Formal class 'kpca' [package "kernlab"] with 9 slots
  ..@ rotated : num [1:130, 1:2] -9.43 -9.17 -9.09 -9.43 -8.53 ...
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ : chr [1:130] "1" "2" "4" "5" ...
  .. .. ..$ : NULL
  ..@ pcv     : num [1:130, 1:2] -0.224 -0.218 -0.216 -0.225 -0.203 ...
  ..@ eig     : Named num [1:2] 0.323 0.119
  .. ..- attr(*, "names")= chr [1:2] "Comp.1" "Comp.2"
  ..@ kernelf :Formal class 'rbfkernel' [package "kernlab"] with 2 slots
  .. .. ..@ .Data:function (x, y = NULL)  
  .. .. ..@ kpar :List of 1
  .. .. .. ..$ sigma: num 0.2
  ..@ kpar    : list()
  ..@ xmatrix : num [1:130, 1:4] 5.1 4.9 4.6 5 5.4 4.6 5 4.4 4.9 4.8 ...
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ : chr [1:130] "1" "2" "4" "5" ...
  .. .. ..$ : chr [1:4] "Sepal.Length" "Sepal.Width" "Petal.Length" 
"Petal.Width"
  .. ..- attr(*, "assign")= int [1:4] 1 2 3 4
  ..@ kcall   : language kpca(x = x, data = ..1, kernel = "rbfdot", kpar = ..3, 
features = 2)
  ..@ terms   :Classes 'terms', 'formula' length 2 ~Sepal.Length + Sepal.Width 
+ Petal.Length + Petal.Width
  .. .. ..- attr(*, "variables")= language list(Sepal.Length, Sepal.Width, 
Petal.Length, Petal.Width)
  .. .. ..- attr(*, "factors")= int [1:4, 1:4] 1 0 0 0 0 1 0 0 0 0 ...
  .. .. .. ..- attr(*, "dimnames")=List of 2
  .. .. .. .. ..$ : chr [1:4] "Sepal.Length" "Sepal.Width" "Petal.Length" 
"Petal.Width"
  .. .. .. .. ..$ : chr [1:4] "Sepal.Length" "Sepal.Width" "Petal.Length" 
"Petal.Width"
  .. .. ..- attr(*, "term.labels")= chr [1:4] "Sepal.Length" "Sepal.Width" 
"Petal.Length" "Petal.Width"
  .. .. ..- attr(*, "order")= int [1:4] 1 1 1 1
  .. .. ..- attr(*, "intercept")= num 0
  .. .. ..- attr(*, "response")= int 0
  .. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv> 
  .. .. ..- attr(*, "predvars")= language list(Sepal.Length, Sepal.Width, 
Petal.Length, Petal.Width)
  .. .. ..- attr(*, "dataClasses")= Named chr [1:4] "numeric" "numeric" 
"numeric" "numeric"
  .. .. .. ..- attr(*, "names")= chr [1:4] "Sepal.Length" "Sepal.Width" 
"Petal.Length" "Petal.Width"
  ..@ n.action: NULL
        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to