Hi,
   
  I was trying to get the optimal 'k' for the knn. To do this I was using the 
following function :
   
  
knn.cvk <- function(datmat, cl, k = 2:9) {
    datmatT <- (datmat)
  cv.err <- cl.pred <- c()
  
  for (i in k) {
    newpre <- as.vector(knn.cv(datmatT, cl, k = i))
    cl.pred <- cbind(cl.pred, newpre)
    cv.err <- c(cv.err, sum(cl != newpre))
    
  }
  k0 <- k[which.min(cv.err)]
  print(k0)
  return(k0)
}

   
  However, the knn.cv function does a 'leave one out' cross validation. I 
checked the documentation to see if I could change this, but it appears that I 
cannot. Since I have large datasets, I would like to do 10 fold cross 
validation, instead of the 'leave one out'.
   
  Is there some other function that I can use that will give me a 10 fold cross 
validation for KNN ?
   
  many thanks.

 __________________________________________________



        [[alternative HTML version deleted]]

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to