dat <- dna_sj_n dat$X1 <- as.numeric(dat$X1) # Make split index train_index <- sample(1:nrow(dat), nrow(dat)*0.75) # Full data set data_variables <- as.matrix(dat[,-1]) data_label <- dat[,"X1"] data = as.matrix(dat) data_matrix <- xgb.DMatrix(data, label = dat$X1) # split train data and make xgb.DMatrix train_data <- data_variables[train_index,] train_label <- data_label[train_index,] train_label$X1 <- as.numeric(train_label$X1) train_dat <- dat[train_index,] test_dat <- dat[-train_index,] train_matrix <- xgb.DMatrix(matrix(as.numeric(train_data),dim(train_data)), label = train_label$X1) # split test data and make xgb.DMatrix test_data <- data_variables[-train_index,] test_label <- data_label[-train_index,] test_label$X1 <- as.numeric(test_label$X1) test_matrix <- xgb.DMatrix(matrix(as.numeric(test_data),dim(test_data)), label = test_label$X1) numberOfClasses <- length(unique(dat$X1)) accuracies <-c() train_label$X1 <- as.character(train_label$X1) train_label$X1 <- as.factor(train_label$X1) ######RANDOM FOREST #modelFit <- randomForest(train_label$X1 ~., data = train_data,ntree=100,mtry=3,importance = TRUE) modelFit <- randomForest(train_label$X1 ~., data = train_data) prediction <- predict(modelFit, newdata = test_data) t<-table(prediction, test_label$X1) print(t) mymat <- matrix(nrow=25, ncol=2) g = 3 h = 30 # For each row and for each column, assign values based on position: product of two indexes for(i in 1:dim(mymat)[1]) { for(j in 1:dim(mymat)[2]) { if (j == 1) { mymat[i,j] = g }else { h = h + 5 mymat[i,j] = h if (h > 1200 ) { g = g + 2 h = 450 } } } } for(i in 1:dim(mymat)[1]) { ptm <- proc.time() mf <- randomForest(train_label$X1 ~., data = train_data,ntree= mymat[i,2] ,mtry= mymat[i,1] ,importance = TRUE) tr_time <- proc.time() - ptm ptm <- proc.time() pred <- predict(mf , newdata = test_data) ts_time <- proc.time() - ptm t<-table(pred, test_label$X1) cm<-confusionMatrix(t) ss = paste("mtry:",mymat[i,1] ,"ntree:", mymat[i,2],"akurasi", cm$overall[1],"train_time",tr_time,"test_time", ts_time,sep=" ") lapply(ss, write, file="rf_30-13.txt", sep="\t", append=TRUE, ncolumns=1000) } plot(mf) ggplot(mf) mf