PREPARATION

setwd("~/Google Drive/UM/Smart Services/Thesis/Thesis/Code/Naive Bayes/6.Feature Set 5/Directives")
#install.packages("naivebayes")
library(naivebayes)
## Warning: package 'naivebayes' was built under R version 3.4.3
library(dplyr)
## Warning: Installed Rcpp (0.12.16) different from Rcpp used to build dplyr (0.12.11).
## Please reinstall dplyr to avoid random crashes or undefined behavior.
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(psych)
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
library(e1071)
library(readxl)
#Import Labels
Labels <- read_excel("~/Google Drive/UM/Smart Services/Thesis/Thesis/Code/Naive Bayes/1.Labels/Source Data.xlsx")

Label <- Labels$Score
#Import Features
Features1 <- read.csv("~/Google Drive/UM/Smart Services/Thesis/Thesis/Code/Naive Bayes/5.Feature Set 4/Activation/Feature Set 3 TF.csv")

Features1 <- Features1[-1]
#Import Features
Features2 <- read.csv("~/Google Drive/UM/Smart Services/Thesis/Thesis/Code/Naive Bayes/6.Feature Set 5/Directives/Directives.csv")

Features2 <- Features2[1:1000,]

Features2 <- Features2[4:10]
#Import Features
Features <- cbind(Features1,Features2)

RECODE LABELS FOR ONE-VS-ALL

#Class 2
Label2 <- list()
for(i in 1:1000){
  if(Label[i]==3| Label[i]==4){
    Label2[i] <- 1
  }else{
    Label2[i] <- 0
  }
}
#As Factor
Label2 <- as.factor(unlist(Label2))
#Class 3
Label3 <- list()
for(i in 1:1000){
  if(Label[i]==5| Label[i]==6){
    Label3[i] <- 1
  }else{
    Label3[i] <- 0
  }
}
#As Factor
Label3 <- as.factor(unlist(Label3))
#Class 4
Label4 <- list()
for(i in 1:1000){
  if(Label[i]==7| Label[i]==8){
    Label4[i] <- 1
  }else{
    Label4[i] <- 0
  }
}
#As Factor
Label4 <- as.factor(unlist(Label4))
#Class 5
Label5 <- list()
for(i in 1:1000){
  if(Label[i]==9| Label[i]==10){
    Label5[i] <- 1
  }else{
    Label5[i] <- 0
  }
}
#As Factor
Label5 <- as.factor(unlist(Label5))
#All Labels
All <- list()
for(i in 1:1000){
  if(Label[i]==9| Label[i]==10){
    All[i] <- 5
  }else if(Label[i]==7| Label[i]==8){
    All[i] <- 4
  }else if(Label[i]==5| Label[i]==6){
    All[i] <- 3
  }else{
    All[i] <- 2
  }
  
  
}
#As Factor
All <- as.factor(unlist(All))
#Control
Control.df <- data.frame(matrix(seq(1,1000),ncol=1,nrow=1000))
Control.df$Actual <- Label
Control.df$All <- All
Control.df$Label2 <- Label2
Control.df$Label3 <- Label3
Control.df$Label4 <- Label4
Control.df$Label5 <- Label5

Control.df[1:10,2:7]
##    Actual All Label2 Label3 Label4 Label5
## 1       3   2      1      0      0      0
## 2       8   4      0      0      1      0
## 3       7   4      0      0      1      0
## 4       4   2      1      0      0      0
## 5       7   4      0      0      1      0
## 6       7   4      0      0      1      0
## 7       5   3      0      1      0      0
## 8      10   5      0      0      0      1
## 9       7   4      0      0      1      0
## 10      8   4      0      0      1      0

TRANSFORM FEATURES TO FACTOR VARIABLES

#Transform Integer to Factor
for(i in 1:445){
  Features[,i] <- as.factor(Features[,i])
}
str(Features)
## 'data.frame':    1000 obs. of  445 variables:
##  $ amaz_jj       : Factor w/ 2 levels "0","1": 1 1 1 1 2 1 1 1 1 1 ...
##  $ arriv_jj      : Factor w/ 2 levels "0","1": 2 1 1 1 1 1 1 1 1 1 ...
##  $ bad_jj        : Factor w/ 3 levels "0","1","2": 1 1 1 2 1 1 1 1 1 1 ...
##  $ basic_jj      : Factor w/ 3 levels "0","1","2": 1 1 2 1 1 1 1 1 1 1 ...
##  $ beauti_jj     : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ befor_jj      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ best_jjs      : Factor w/ 2 levels "0","1": 2 1 1 1 1 1 1 1 1 1 ...
##  $ big_jj        : Factor w/ 3 levels "0","1","2": 3 1 1 1 1 1 1 1 1 3 ...
##  $ build_jj      : Factor w/ 3 levels "0","1","2": 1 1 1 2 1 1 1 1 1 1 ...
##  $ central_jj    : Factor w/ 4 levels "0","1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
##  $ clean_jj      : Factor w/ 5 levels "0","1","2","3",..: 1 1 1 2 1 1 2 1 2 1 ...
##  $ clear_jj      : Factor w/ 2 levels "0","1": 1 1 1 1 2 1 1 1 1 1 ...
##  $ close_jj      : Factor w/ 3 levels "0","1","2": 2 1 1 1 1 1 1 1 1 1 ...
##  $ cold_jj       : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ difficult_jj  : Factor w/ 3 levels "0","1","2": 1 1 2 1 1 1 1 1 1 1 ...
##  $ due_jj        : Factor w/ 3 levels "0","1","2": 2 1 1 1 1 1 1 1 1 1 ...
##  $ earl_jj       : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ easi_jj       : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ english_jj    : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ enough_jj     : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ excel_jj      : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ extra_jj      : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ first_jj      : Factor w/ 3 levels "0","1","2": 1 2 1 1 1 1 1 1 1 1 ...
##  $ free_jj       : Factor w/ 4 levels "0","1","2","5": 1 1 1 1 1 1 1 1 1 1 ...
##  $ fresh_jj      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ friend_jj     : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 2 1 1 ...
##  $ front_jj      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ full_jj       : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ general_jj    : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ good_jj       : Factor w/ 6 levels "0","1","2","3",..: 1 1 2 1 1 2 1 3 1 4 ...
##  $ great_jj      : Factor w/ 6 levels "0","1","2","3",..: 1 4 1 2 1 3 1 1 1 1 ...
##  $ guest_jjs     : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ high_jj       : Factor w/ 3 levels "0","1","2": 3 1 1 1 1 1 1 2 1 1 ...
##  $ hot_jj        : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ huge_jj       : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ littl_jj      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ locat_jj      : Factor w/ 2 levels "0","1": 1 1 1 2 1 1 1 1 1 1 ...
##  $ london_jj     : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ loud_jj       : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ main_jj       : Factor w/ 2 levels "0","1": 1 1 1 1 1 2 1 1 1 1 ...
##  $ major_jj      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ modern_jj     : Factor w/ 2 levels "0","1": 1 1 1 1 1 2 1 1 1 1 ...
##  $ much_jj       : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 2 ...
##  $ new_jj        : Factor w/ 3 levels "0","1","2": 2 2 1 1 1 1 1 1 1 1 ...
##  $ next_jj       : Factor w/ 4 levels "0","1","2","3": 4 1 1 2 1 1 1 1 1 1 ...
##  $ nice_jj       : Factor w/ 5 levels "0","1","2","3",..: 1 1 2 4 1 1 1 1 1 1 ...
##  $ nois_jj       : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ noisi_jj      : Factor w/ 2 levels "0","1": 1 1 1 2 1 1 1 1 1 1 ...
##  $ ok_jj         : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ old_jj        : Factor w/ 3 levels "0","1","2": 1 1 1 2 1 1 1 1 1 1 ...
##  $ onli_jj       : Factor w/ 3 levels "0","1","2": 2 1 1 1 1 1 1 1 1 1 ...
##  $ open_jj       : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ overal_jj     : Factor w/ 2 levels "0","1": 1 1 1 2 1 1 1 1 1 1 ...
##  $ particular_jj : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ perfect_jj    : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ pillow_jj     : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ pleasant_jj   : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ poor_jj       : Factor w/ 3 levels "0","1","3": 1 1 1 1 1 1 1 1 1 1 ...
##  $ public_jj     : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ quiet_jj      : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 2 1 1 1 ...
##  $ realli_jj     : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ recept_jj     : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ safe_jj       : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ second_jj     : Factor w/ 3 levels "0","1","2": 1 2 1 2 1 1 1 1 1 1 ...
##  $ select_jj     : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ servic_jj     : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 2 ...
##  $ short_jj      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ shower_jjr    : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ sleep_jj      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ small_jj      : Factor w/ 4 levels "0","1","2","3": 2 1 1 1 1 1 1 1 1 1 ...
##  $ spacious_jj   : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 2 1 1 1 ...
##  $ special_jj    : Factor w/ 2 levels "0","1": 2 1 1 1 1 1 1 1 1 1 ...
##  $ standard_jj   : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ stay_jj       : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ steep_jj      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ super_jj      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ sure_jj       : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ underground_jj: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ upgrad_jj     : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ veri_jj       : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 2 1 ...
##  $ warm_jj       : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ whole_jj      : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ ask_vb        : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ bed_vbd       : Factor w/ 3 levels "0","1","2": 1 1 1 2 1 1 1 1 1 2 ...
##  $ build_vb      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ came_vbd      : Factor w/ 3 levels "0","1","2": 2 1 1 3 1 1 1 1 1 1 ...
##  $ check_vb      : Factor w/ 2 levels "0","1": 2 1 1 1 1 1 1 1 1 1 ...
##  $ definit_vb    : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ done_vbn      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ expens_vbz    : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ gave_vbd      : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ get_vb        : Factor w/ 3 levels "0","1","2": 1 1 1 1 3 1 1 1 1 1 ...
##  $ given_vbn     : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ go_vb         : Factor w/ 3 levels "0","1","2": 1 1 2 1 1 1 1 1 1 1 ...
##  $ go_vbp        : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ got_vbd       : Factor w/ 4 levels "0","1","2","3": 3 1 1 1 1 1 1 1 1 1 ...
##  $ like_vb       : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ love_vb       : Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ made_vbd      : Factor w/ 3 levels "0","1","2": 3 1 1 1 1 1 2 1 1 1 ...
##   [list output truncated]

PARTITIONING TRAINING & VALIDATION

#Features
set.seed(1234)
ind <- sample(2,nrow(Features),replace = T, prob =c(0.8,0.2))
train <- Features[ind == 1,]
test <- Features[ind ==2,]

Labels

train.labels.2 <- Label2[ind == 1]
test.labels.2 <- Label2[ind ==2]

train.labels.3 <- Label3[ind == 1]
test.labels.3 <- Label3[ind ==2]

train.labels.4 <- Label4[ind == 1]
test.labels.4 <- Label4[ind ==2]

train.labels.5 <- Label5[ind == 1]
test.labels.5 <- Label5[ind ==2]

train.labels <- All[ind == 1]
test.labels <- All[ind ==2]

NAIVE BAYES MODEL

NB2 <- naiveBayes(x = train,y = train.labels.2)
NB3 <- naiveBayes(x = train,y = train.labels.3)
NB4 <- naiveBayes(x = train,y = train.labels.4)
NB5 <- naiveBayes(x = train,y = train.labels.5)

PREDICTIONS

NB.Pred2 <- predict(NB2, test,type ="raw")
NB.Pred3 <- predict(NB3, test,type ="raw")
NB.Pred4 <- predict(NB4, test,type ="raw")
NB.Pred5 <- predict(NB5, test,type ="raw")

VOTING

Voting.df <- data.frame(NB.Pred2, NB.Pred3,NB.Pred4,NB.Pred5)
colnames(Voting.df) <- c("Class 2: 0","Class2: 1","Class 3: 0","Class3: 1","Class 4: 0","Class4: 1","Class 5: 0","Class5: 1")

head(Voting.df)
##   Class 2: 0    Class2: 1 Class 3: 0    Class3: 1 Class 4: 0 Class4: 1
## 1  0.9999997 2.560604e-07 0.80071056 1.992894e-01 0.19967292 0.8003271
## 2  1.0000000 3.030474e-10 0.99998522 1.478019e-05 0.02846979 0.9715302
## 3  1.0000000 1.981270e-09 0.99999443 5.568292e-06 0.30411096 0.6958890
## 4  1.0000000 8.293071e-12 0.97968129 2.031871e-02 0.88465424 0.1153458
## 5  0.9999942 5.755584e-06 0.84522626 1.547737e-01 0.68630616 0.3136938
## 6  1.0000000 1.988348e-10 0.08844871 9.115513e-01 0.63591987 0.3640801
##   Class 5: 0    Class5: 1
## 1  0.9993260 0.0006739876
## 2  0.9273363 0.0726637215
## 3  0.8725129 0.1274871064
## 4  0.9879202 0.0120798193
## 5  0.8874078 0.1125921750
## 6  0.9760881 0.0239119241
Transformed.Voting.df <- Voting.df[seq(2,8,2)]
colnames(Transformed.Voting.df) <- c("2","3","4","5")
head(Transformed.Voting.df)
##              2            3         4            5
## 1 2.560604e-07 1.992894e-01 0.8003271 0.0006739876
## 2 3.030474e-10 1.478019e-05 0.9715302 0.0726637215
## 3 1.981270e-09 5.568292e-06 0.6958890 0.1274871064
## 4 8.293071e-12 2.031871e-02 0.1153458 0.0120798193
## 5 5.755584e-06 1.547737e-01 0.3136938 0.1125921750
## 6 1.988348e-10 9.115513e-01 0.3640801 0.0239119241
Evaluation <- Transformed.Voting.df
Index <- as.numeric(apply(Transformed.Voting.df,MARGIN = 1,which.max))
Index <- Index+1
Evaluation$Vote <- Index
Evaluation$Actual <- test.labels
head(Evaluation,100)
##                2            3            4            5 Vote Actual
## 1   2.560604e-07 1.992894e-01 0.8003270777 6.739876e-04    4      4
## 2   3.030474e-10 1.478019e-05 0.9715302050 7.266372e-02    4      5
## 3   1.981270e-09 5.568292e-06 0.6958890352 1.274871e-01    4      5
## 4   8.293071e-12 2.031871e-02 0.1153457553 1.207982e-02    4      4
## 5   5.755584e-06 1.547737e-01 0.3136938374 1.125922e-01    4      4
## 6   1.988348e-10 9.115513e-01 0.3640801305 2.391192e-02    3      4
## 7   5.055080e-18 4.251977e-10 0.0004129387 1.555055e-02    5      5
## 8   2.787300e-18 1.707116e-03 0.9807697672 3.773159e-05    4      3
## 9   6.507483e-09 8.267228e-09 0.3517090977 6.522310e-01    5      5
## 10  9.683799e-01 1.292646e-05 0.0465500712 4.236648e-04    2      3
## 11  1.217576e-09 6.984174e-07 0.6852599263 6.449134e-01    4      4
## 12  5.169324e-06 2.157984e-03 0.1430913107 2.415676e-01    5      3
## 13  2.813520e-06 1.389223e-03 0.0405734191 8.835386e-01    5      5
## 14  4.522505e-05 1.221554e-02 0.4407840212 1.167467e-01    4      4
## 15  4.345472e-05 1.610509e-02 0.6855961746 1.588000e-02    4      4
## 16  1.665824e-09 1.447544e-01 0.1832075028 2.219837e-01    5      5
## 17  4.866394e-10 9.937809e-07 0.9633382045 5.611384e-03    4      4
## 18  2.207244e-07 3.001515e-03 0.1349421333 9.475478e-01    5      5
## 19  1.178704e-03 2.208883e-01 0.6562765440 4.737754e-03    4      4
## 20  2.156142e-10 3.072454e-05 0.8582596401 6.133924e-01    4      2
## 21  1.969109e-07 3.262748e-03 0.0863295186 3.579274e-02    4      4
## 22  3.653424e-13 3.783618e-04 0.0534715602 9.820281e-01    5      4
## 23  4.930736e-06 1.238730e-01 0.9228011287 3.917149e-08    4      3
## 24  5.108223e-10 1.096866e-06 0.3731346463 9.441212e-01    5      5
## 25  4.743221e-05 6.059045e-02 0.4653964654 7.238807e-02    4      4
## 26  1.711891e-07 4.091404e-03 0.1352564982 3.796623e-01    5      5
## 27  2.710561e-08 7.446566e-02 0.1917065599 1.672331e-01    4      4
## 28  1.038921e-04 1.595087e-03 0.0175031423 9.364119e-01    5      5
## 29  9.079558e-10 9.384015e-05 0.3839252755 1.204559e-03    4      3
## 30  6.858152e-01 3.950182e-01 0.4208888408 1.077768e-08    2      3
## 31  1.174682e-07 2.807176e-04 0.0067057568 9.969270e-01    5      5
## 32  8.639935e-13 2.087766e-05 0.0003293397 9.997283e-01    5      5
## 33  7.463699e-14 3.065370e-03 0.3916685050 8.822750e-01    5      5
## 34  6.502861e-09 4.190525e-01 0.0114148442 5.292268e-03    3      3
## 35  1.933511e-05 1.107941e-02 0.5737557677 6.865711e-02    4      4
## 36  1.460081e-06 3.457442e-01 0.5099359063 2.083253e-02    4      4
## 37  2.519405e-04 2.225070e-01 0.8215037006 1.630563e-04    4      5
## 38  4.728395e-01 9.999497e-01 0.3043525597 9.325296e-07    3      3
## 39  6.799196e-15 4.161481e-05 0.0012298379 9.995328e-01    5      5
## 40  5.873739e-10 4.626151e-03 0.3785985266 5.476743e-03    4      3
## 41  1.063265e-11 1.755096e-05 0.0010463954 9.991510e-01    5      5
## 42  3.734303e-15 4.426193e-04 0.9953593772 1.049584e-03    4      4
## 43  6.891986e-17 1.787011e-12 0.0370452924 3.883162e-01    5      5
## 44  2.886605e-06 3.239248e-02 0.4544896555 4.632399e-01    5      3
## 45  5.196151e-07 7.663733e-01 0.8863513527 8.451594e-03    4      5
## 46  1.870065e-03 3.573963e-03 0.2852491822 1.051014e-01    4      4
## 47  2.219523e-06 3.743943e-02 0.2882158365 7.711911e-01    5      5
## 48  1.338114e-08 1.409505e-02 0.4513155832 8.137279e-01    5      3
## 49  3.287106e-08 1.118246e-03 0.0626075019 9.922930e-01    5      5
## 50  1.491672e-05 4.207152e-02 0.1622775520 6.923699e-01    5      5
## 51  3.791653e-09 1.340212e-02 0.0595736908 9.767757e-01    5      4
## 52  6.384297e-07 2.852881e-03 0.6846863868 3.849010e-01    4      5
## 53  5.544458e-10 5.662210e-03 0.0070306567 9.960237e-01    5      4
## 54  2.065967e-07 1.442764e-04 0.0980700226 9.598240e-01    5      4
## 55  1.537202e-06 3.011214e-01 0.2555443460 5.033452e-01    5      4
## 56  2.327251e-07 9.062414e-03 0.0076867109 9.905562e-01    5      5
## 57  6.045031e-06 1.172248e-02 0.1708387727 9.367419e-01    5      2
## 58  3.893337e-08 4.173929e-05 0.1035339390 9.860051e-01    5      5
## 59  6.109832e-09 3.944122e-04 0.0260112331 9.969686e-01    5      4
## 60  1.260297e-04 7.236314e-01 0.7767715096 4.130289e-03    4      4
## 61  1.714158e-06 8.767800e-03 0.2339826868 8.799873e-01    5      5
## 62  6.619707e-07 3.212433e-02 0.1951038052 8.710985e-01    5      5
## 63  1.341905e-03 4.975922e-02 0.8723799918 5.979334e-02    4      4
## 64  9.707909e-08 2.192216e-04 0.1534803075 9.737478e-01    5      5
## 65  7.759096e-10 2.415720e-03 0.0470892201 9.890277e-01    5      5
## 66  6.029470e-07 1.087104e-02 0.2861019249 8.649006e-01    5      5
## 67  3.228777e-06 6.038550e-02 0.2045917600 7.281909e-01    5      3
## 68  1.408347e-05 9.794413e-02 0.1614526450 7.131566e-01    5      3
## 69  1.628143e-07 9.287218e-02 0.2139229366 3.930101e-01    5      4
## 70  8.328103e-13 1.531785e-02 0.7562544812 1.155095e-01    4      4
## 71  4.133554e-07 9.257166e-05 0.0784127491 9.888325e-01    5      5
## 72  3.300306e-08 9.383495e-04 0.2574706778 9.456810e-01    5      5
## 73  1.188628e-04 1.702990e-02 0.1865168871 7.274437e-01    5      2
## 74  2.511841e-05 5.620136e-02 0.1003838815 8.742091e-01    5      4
## 75  3.485534e-06 1.044027e-04 0.9157067536 3.581040e-01    4      4
## 76  9.903387e-15 6.358842e-05 0.8727127384 3.933435e-01    4      5
## 77  1.500284e-11 2.088242e-04 0.0564663686 2.741707e-02    4      3
## 78  2.665446e-12 4.643011e-06 0.9477358527 3.437437e-01    4      4
## 79  1.202259e-10 7.345586e-05 0.0012960529 2.653306e-02    5      5
## 80  5.935301e-08 5.202414e-05 0.0593332879 9.964690e-01    5      5
## 81  4.145556e-11 5.888887e-05 0.2435725118 8.892031e-01    5      5
## 82  4.388131e-11 3.174505e-05 0.4660113431 5.065811e-01    5      4
## 83  1.077359e-12 3.794190e-05 0.0001302297 8.697924e-04    5      5
## 84  1.585442e-07 8.115570e-03 0.0050763410 9.915384e-01    5      5
## 85  1.308371e-09 1.048119e-01 0.3691584127 1.215205e-01    4      5
## 86  2.870797e-08 9.496358e-01 0.7751355765 4.728304e-06    3      3
## 87  2.406546e-07 3.274912e-01 0.2644396457 1.606859e-01    3      4
## 88  1.954221e-09 1.387981e-07 0.0043868373 4.713579e-02    5      5
## 89  8.869897e-16 9.114441e-08 0.0075450532 9.998371e-01    5      5
## 90  5.714629e-14 6.462638e-04 0.2339051625 9.603946e-01    5      3
## 91  8.122801e-12 4.242521e-02 0.0299414398 9.687033e-01    5      3
## 92  1.293118e-08 1.363741e-03 0.3561640291 1.322472e-01    4      5
## 93  1.779349e-16 8.222424e-02 0.9075166246 3.845345e-02    4      4
## 94  6.361267e-10 1.261842e-13 0.0109700720 7.570434e-01    5      5
## 95  4.013854e-07 8.761099e-03 0.5756587430 3.431849e-01    4      5
## 96  2.165828e-15 1.360237e-05 0.7989092941 7.720585e-01    4      5
## 97  5.080933e-10 4.779647e-02 0.0061182129 9.624494e-01    5      5
## 98  1.082991e-07 2.619368e-02 0.0161554446 8.078269e-01    5      5
## 99  2.690032e-01 1.319493e-02 0.0190615941 4.146113e-01    5      2
## 100 6.602631e-09 2.493802e-01 0.4915393742 3.455927e-01    4      5
CM <- table(Evaluation$Actual,Evaluation$Vote)
CM
##    
##      2  3  4  5
##   2  0  0  3  4
##   3  2  5  6 12
##   4  0  4 34 24
##   5  0  1 20 93
#Proportions
Overall <- length(Evaluation$Actual)
Length2 <- length(which(Evaluation$Actual==2))
Length3 <- length(which(Evaluation$Actual==3))
Length4 <- length(which(Evaluation$Actual==4))
Length5 <- length(which(Evaluation$Actual==5))


#Accuracy
Accuracy <- sum(diag(CM))/sum(CM)

#Precision
Precision <- diag(CM)/rowSums(CM)
Precision <- (Precision[1]*Length2+Precision[2]*Length3+Precision[3]*Length4+Precision[4]*Length5)/208

#Recall
Recall <- diag(CM)/colSums(CM)
Recall <- (Recall[1]*Length2+Recall[2]*Length3+Recall[3]*Length4+Recall[4]*Length5)/208


Accuracy
## [1] 0.6346154
Precision
##         2 
## 0.6346154
Recall
##         2 
## 0.6042048