data("iris") ; DT <- iris nr <- nrow(DT) sa <- sample(1:nr,nr) ; DT <- DT[sa,] ma <- matrix(data = rnorm(1500) , ncol = 10) # make noise clnm <- rep(NA,ncol(ma)) for(i in 1:ncol(ma)) clnm[i] <- paste0("noise",i) colnames(ma) <- clnm DT <- cbind(ma,DT) ; rm(ma) #\\\\\\\\\\\\\\ Species <- DT[,ncol(DT)] DT <- DT[,-ncol(DT)] train <- 1:100 test <- 101:150 #\\\\\\\\\\\\\\ library(caret) normal <- preProcess(DT,method = c("center" , "scale")) tr <- predict(normal,DT[train,]) ts <- predict(normal,DT[test,]) #\\\\\\\\\\\\\\ library(randomForest) RF <- randomForest(Species[train]~., tr, importance=T) pr <- predict(RF,ts) #\\\\\\\\\\\\\\ library(ForeCA) forec.dt <- as.matrix( rbind(tr,ts) ) fo <- foreca(forec.dt, n.comp = 4) F.RF <- randomForest(Species[train]~., fo$scores[train,]) f.pr <- predict(F.RF,fo$scores[test,]) confusionMatrix(Species[test], pr) # simple iris confusionMatrix(Species[test], f.pr) # foreca