# Kaggle Knowledge Competition: Digit Recognizer

library(caTools)
library(caret)
library(rpart)
library(rpart.plot)
library(randomForest)

#Read the training and testing data sets

train = read.csv("../input/train.csv")
test = read.csv("../input/test.csv")

#Converting the dependent variable into a factor variable for classification problem
train$label = as.factor(train$label)

set.seed(1000)

#Splitting the training set further into sub training and testing sets
split = sample.split(train$label, SplitRatio = 0.1)
trainTrain = subset(train, split == TRUE)
trainTest = subset(train, split == FALSE)

#Training CART on trainTrain and making predictions on test
#CART = rpart(label ~ ., data=trainTrain, method="class")
#predict.CART.Test = predict(CART, newdata = test, type="class")

#Random Forest on trainTrain and make predictions on test
RF = randomForest(label ~ ., data=trainTrain)
predict.RF.Test = predict(RF, newdata=test)

#my_solution_CART = data.frame("ImageID" = 1:nrow(test), "Label" = predict.CART.Test)
my_solution_RF = data.frame("ImageID" = 1:nrow(test), "Label" = predict.RF.Test)

#write.csv(my_solution_CART, file="my_solution_CART.csv", row.names=FALSE)
write.csv(my_solution_RF, file="my_solution_RF.csv", row.names=FALSE)