setwd("~/Documents/ComputerScience/UBC/340 - Machine Learning/Labs/Lab 7/") library(e1071) library(randomForest) library(tree) set.seed(1) training<- read.table("LabNov10-train.csv", sep = ",", header = TRUE) testing<- read.table("LabNov10-test.csv", sep = ",", header = TRUE) tr <- tree(y~x1+x2+x3,data=training) predictions.tr<-predict(tr,newdata=testing) error.tr<-sqrt((sum((testing$y-predictions.tr)^2))/nrow(testing)) error.tr rf <- randomForest(y~x1+x2+x3,data=training,ntree=10) predictions.rf<-predict(rf,newdata=testing) error.rf<-sqrt((sum((testing$y-predictions.rf)^2))/nrow(testing)) error.rf rf <- randomForest(y~x1+x2+x3,data=training,ntree=1000) predictions.rf<-predict(rf,newdata=testing) error.rf<-sqrt((sum((testing$y-predictions.rf)^2))/nrow(testing)) error.rf rm <- glm(y ~ x1 + x2 + x3, data = training) predictions.rm<-predict(rm,newdata=testing) error.rm<-sqrt((sum((testing$y-predictions.rm)^2))/nrow(testing)) error.rm svm <- svm(y~x1+x2+x3,data=training) predictions.svm<-predict(svm,newdata=testing) error.svm<-sqrt((sum((testing$y-predictions.svm)^2))/nrow(testing)) error.svm predictions.svm_rm<-(predictions.svm + predictions.rm)/2 error.svm_rm <-sqrt((sum((testing$y-predictions.svm_rm)^2))/nrow(testing)) error.svm_rm predictions.svm_rm<-(predictions.svm * 9 + predictions.rm)/10 error.svm_rm<-sqrt((sum((testing$y-predictions.svm_rm)^2))/nrow(testing)) error.svm_rm predictions.svm_rf<-(predictions.svm + predictions.rf)/2 error.svm_rf<-sqrt((sum((testing$y-predictions.svm_rf)^2))/nrow(testing)) error.svm_rf # Bonus material ens.size = 100 predictions.ens <- c() for (i in 1:ens.size){ btstrp <- training[sample(1:nrow(training), replace = TRUE),] tr <- tree(y~x1+x2+x3,data=btstrp) predictions.ens <- cbind(predictions.ens, predict(tr,newdata=testing)) } predictions <- rowMeans(predictions.ens) sqrt((sum((testing$y-predictions)^2))/nrow(testing))