# Creates a simple random forest benchmark

library(randomForest)
library(readr)
library(caret)

set.seed(0)


numTrees <- 150
mtry<-30
nodesize<-1

train <- read_csv("../input/train.csv")
test <- read_csv("../input/test.csv")




labels <- as.factor(train[,1])
train<-train[,-1]

#preprocess train and test sets
nzv<-nearZeroVar(train)
train<-train[,-nzv]
test<-test[,-nzv]


pca<-preProcess(train, method=c("center","scale"))
train<-predict(pca,train)
test<-predict(pca,test)


rf <- randomForest(train, labels, ntree=numTrees,nodesize=nodesize,mtry=mtry)

predictions <- data.frame(ImageId=1:nrow(test), Label=NA)
predictions[,2]<-predict(rf,test)

write_csv(predictions, "rf_benchmark.csv") 

rf
