2009年3月11日星期三

Best model of knn.cv method

##recall “knn.cv” from the package “class”

library(class)

##function-find best model of kNN based on v-fold cv

cv.k<-function(data,cl,k){

y<-(data)

knn.pred<-cv.err<-c()

for (i in 1:k){

knn.pred<-cbind(knn.pred,as.vector(knn.cv(y,cl,k=i)))

cv.err<-c(cv.err,sum(knn.pred[,i]!=class)/nrow(y))

}

opt.k<-which.min(cv.err)

print(opt.k)

}

opt.k<-cv.k(x,class,k=50)

opt.k

*****************************************************

##loop-find the best model of kNN method based on v-fold cv

knn.pred<-c()

cv.err<-c()

for (i in 1:50){

knn.pred<-cbind(knn.pred,as.vector(knn.cv(x,class,k=i)))

cv.err<-c(cv.err,sum(knn.pred[,i]!=class)/3364)

}

opt.k<-which.min(cv.err)

print(opt.k)

没有评论:

发表评论