greedy.select <- function(data,classes,N=3,k=1) { require(class) variates <- NULL best.perf <- nrow(data) num <- 0 k <- 1 cat(date(),"\n") for(j in 1:ncol(data)){ ind <- 0 best <- nrow(data) for(i in setdiff(1:ncol(data),variates)){ a <- knn.cv(data[,c(variates,i)],classes,k=k) perf <- sum(a != classes) if(perf=N) break variates <- c(variates,ind) best.perf <- best } else if(best < best.perf){ variates <- c(variates,ind) best.perf <- best num <- 0 } else break cat(date(),j,best.perf,num,"\n") } variates }