PREPARATION

setwd("~/Google Drive/UM/Smart Services/Thesis/Thesis/Code/Naive Bayes/5.Feature Set 4/Activation")
#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
Features <- read.csv("~/Google Drive/UM/Smart Services/Thesis/Thesis/Code/Naive Bayes/5.Feature Set 4/Activation/Feature Set 3 TF.csv")

Features <- Features[-1]

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:438){
  Features[,i] <- as.factor(Features[,i])
}
str(Features)
## 'data.frame':    1000 obs. of  438 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.655613e-07 0.80116318 1.988368e-01 0.20026054 0.7997395
## 2  1.0000000 3.142917e-10 0.99998526 1.473829e-05 0.02857157 0.9714284
## 3  1.0000000 2.054783e-09 0.99999445 5.552507e-06 0.30488885 0.6951111
## 4  1.0000000 8.600777e-12 0.97973772 2.026228e-02 0.88502852 0.1149715
## 5  0.9999940 5.969138e-06 0.84559727 1.544027e-01 0.68709640 0.3129036
## 6  1.0000000 2.062124e-10 0.08867787 9.113221e-01 0.63676986 0.3632301
##   Class 5: 0    Class5: 1
## 1  0.9993263 0.0006736839
## 2  0.9273667 0.0726333343
## 3  0.8725631 0.1274369432
## 4  0.9879256 0.0120744378
## 5  0.8874529 0.1125471166
## 6  0.9760986 0.0239013988
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.655613e-07 1.988368e-01 0.7997395 0.0006736839
## 2 3.142917e-10 1.473829e-05 0.9714284 0.0726333343
## 3 2.054783e-09 5.552507e-06 0.6951111 0.1274369432
## 4 8.600777e-12 2.026228e-02 0.1149715 0.0120744378
## 5 5.969138e-06 1.544027e-01 0.3129036 0.1125471166
## 6 2.062124e-10 9.113221e-01 0.3632301 0.0239013988
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.655613e-07 1.988368e-01 0.7997394561 6.736839e-04    4      4
## 2   3.142917e-10 1.473829e-05 0.9714284338 7.263333e-02    4      5
## 3   2.054783e-09 5.552507e-06 0.6951111484 1.274369e-01    4      5
## 4   8.600777e-12 2.026228e-02 0.1149714778 1.207444e-02    4      4
## 5   5.969138e-06 1.544027e-01 0.3129035982 1.125471e-01    4      4
## 6   2.062124e-10 9.113221e-01 0.3632301394 2.390140e-02    3      4
## 7   5.242644e-18 4.239923e-10 0.0004114254 1.554365e-02    5      5
## 8   2.890720e-18 1.702285e-03 0.9807003686 3.771457e-05    4      3
## 9   6.748937e-09 8.243791e-09 0.3508720527 6.521287e-01    5      5
## 10  9.694766e-01 1.288981e-05 0.0463873189 4.234738e-04    2      3
## 11  1.262753e-09 6.964375e-07 0.6844671791 6.448101e-01    4      4
## 12  5.361126e-06 2.151879e-03 0.1426415199 2.414849e-01    5      3
## 13  2.917912e-06 1.385290e-03 0.0404306767 8.834922e-01    5      5
## 14  4.690301e-05 1.218133e-02 0.4398788250 1.167002e-01    4      4
## 15  4.506699e-05 1.606016e-02 0.6848038847 1.587296e-02    4      4
## 16  1.727633e-09 1.444033e-01 0.1826584910 2.219058e-01    5      5
## 17  5.046957e-10 9.909637e-07 0.9632082581 5.608868e-03    4      4
## 18  2.289142e-07 2.993031e-03 0.1345139374 9.475254e-01    5      5
## 19  1.222385e-03 2.204001e-01 0.6554475008 4.735628e-03    4      4
## 20  2.236144e-10 3.063744e-05 0.8578122196 6.132854e-01    4      2
## 21  2.042171e-07 3.253529e-03 0.0860402366 3.577717e-02    4      4
## 22  3.788981e-13 3.772896e-04 0.0532859608 9.820202e-01    5      4
## 23  5.113685e-06 1.235652e-01 0.9225390536 3.915383e-08    4      3
## 24  5.297759e-10 1.093757e-06 0.3722758913 9.440974e-01    5      5
## 25  4.919206e-05 6.042907e-02 0.4644827068 7.235779e-02    4      4
## 26  1.775409e-07 4.079852e-03 0.1348274602 3.795561e-01    5      5
## 27  2.811133e-08 7.427024e-02 0.1911380392 1.671703e-01    4      4
## 28  1.077465e-04 1.590572e-03 0.0174400887 9.363850e-01    5      5
## 29  9.416446e-10 9.357415e-05 0.3830568617 1.204016e-03    4      3
## 30  6.936117e-01 3.943400e-01 0.4199938164 1.077282e-08    2      3
## 31  1.218267e-07 2.799221e-04 0.0066813354 9.969257e-01    5      5
## 32  8.960512e-13 2.081847e-05 0.0003281326 9.997282e-01    5      5
## 33  7.740632e-14 3.056706e-03 0.3907936866 8.822281e-01    5      5
## 34  6.744143e-09 4.183615e-01 0.0113734693 5.289894e-03    3      3
## 35  2.005250e-05 1.104835e-02 0.5728572327 6.862827e-02    4      4
## 36  1.514255e-06 3.451023e-01 0.5090179626 2.082333e-02    4      4
## 37  2.612860e-04 2.220163e-01 0.8209644586 1.629828e-04    4      5
## 38  4.819287e-01 9.999495e-01 0.3035754436 9.321091e-07    3      3
## 39  7.051474e-15 4.149685e-05 0.0012253344 9.995326e-01    5      5
## 40  6.091679e-10 4.613097e-03 0.3777347741 5.474287e-03    4      3
## 41  1.102717e-11 1.750121e-05 0.0010425630 9.991506e-01    5      5
## 42  3.872861e-15 4.413651e-04 0.9953423800 1.049112e-03    4      4
## 43  7.147706e-17 1.781945e-12 0.0369144848 3.882091e-01    5      5
## 44  2.993710e-06 3.230362e-02 0.4535791425 4.631278e-01    5      3
## 45  5.388949e-07 7.658646e-01 0.8859808267 8.447815e-03    4      5
## 46  1.939317e-03 3.563867e-03 0.2845008949 1.050590e-01    4      4
## 47  2.301877e-06 3.733725e-02 0.2874628968 7.711115e-01    5      5
## 48  1.387764e-08 1.405565e-02 0.4504061788 8.136595e-01    5      3
## 49  3.409071e-08 1.115080e-03 0.0623922820 9.922896e-01    5      5
## 50  1.547018e-05 4.195725e-02 0.1617788375 6.922738e-01    5      5
## 51  3.932339e-09 1.336463e-02 0.0593682394 9.767654e-01    5      4
## 52  6.621180e-07 2.844816e-03 0.6838928613 3.847942e-01    4      5
## 53  5.750180e-10 5.646249e-03 0.0070050604 9.960219e-01    5      4
## 54  2.142622e-07 1.438675e-04 0.0977456082 9.598066e-01    5      4
## 55  1.594238e-06 3.005243e-01 0.2548461987 5.032325e-01    5      4
## 56  2.413602e-07 9.036956e-03 0.0076587445 9.905519e-01    5      5
## 57  6.269325e-06 1.168963e-02 0.1703190970 9.367151e-01    5      2
## 58  4.037796e-08 4.162097e-05 0.1031935180 9.859988e-01    5      5
## 59  6.336532e-09 3.932945e-04 0.0259183383 9.969672e-01    5      4
## 60  1.307053e-04 7.230633e-01 0.7761339564 4.128434e-03    4      4
## 61  1.777760e-06 8.743162e-03 0.2333249837 8.799397e-01    5      5
## 62  6.865325e-07 3.203618e-02 0.1945276344 8.710479e-01    5      5
## 63  1.391626e-03 4.962516e-02 0.8719704949 5.976799e-02    4      4
## 64  1.006811e-07 2.186003e-04 0.1530036911 9.737363e-01    5      5
## 65  8.046990e-10 2.408888e-03 0.0469246755 9.890228e-01    5      5
## 66  6.253188e-07 1.084056e-02 0.2853522937 8.648479e-01    5      5
## 67  3.348578e-06 6.022462e-02 0.2039946711 7.281016e-01    5      3
## 68  1.460601e-05 9.769360e-02 0.1609559786 7.130644e-01    5      3
## 69  1.688553e-07 9.263328e-02 0.2133059182 3.929025e-01    5      4
## 70  8.637110e-13 1.527509e-02 0.7555767689 1.154635e-01    4      4
## 71  4.286925e-07 9.230925e-05 0.0781477265 9.888275e-01    5      5
## 72  3.422761e-08 9.356919e-04 0.2567690829 9.456578e-01    5      5
## 73  1.232725e-04 1.698244e-02 0.1859602160 7.273542e-01    5      2
## 74  2.605039e-05 5.605096e-02 0.1000526619 8.741595e-01    5      4
## 75  3.614861e-06 1.041068e-04 0.9154228019 3.580003e-01    4      4
## 76  1.027084e-14 6.340817e-05 0.8723041528 3.932359e-01    4      5
## 77  1.555951e-11 2.082323e-04 0.0562709922 2.740505e-02    4      3
## 78  2.764345e-12 4.629849e-06 0.9475536152 3.436419e-01    4      4
## 79  1.246868e-10 7.324763e-05 0.0012913072 2.652141e-02    5      5
## 80  6.155525e-08 5.187666e-05 0.0591286135 9.964674e-01    5      5
## 81  4.299373e-11 5.872194e-05 0.2428964000 8.891587e-01    5      5
## 82  4.550948e-11 3.165506e-05 0.4650974276 5.064684e-01    5      4
## 83  1.117334e-12 3.783435e-05 0.0001297522 8.694005e-04    5      5
## 84  1.644268e-07 8.092749e-03 0.0050578235 9.915347e-01    5      5
## 85  1.356917e-09 1.045458e-01 0.3683034323 1.214723e-01    4      5
## 86  2.977316e-08 9.494999e-01 0.7744947074 4.726172e-06    3      3
## 87  2.495838e-07 3.268663e-01 0.2637258054 1.606251e-01    3      4
## 88  2.026730e-09 1.384047e-07 0.0043708239 4.711554e-02    5      5
## 89  9.199006e-16 9.088603e-08 0.0075175983 9.998370e-01    5      5
## 90  5.926665e-14 6.444330e-04 0.2332476109 9.603774e-01    5      3
## 91  8.424190e-12 4.231003e-02 0.0298349389 9.686896e-01    5      3
## 92  1.341098e-08 1.359880e-03 0.3553221928 1.321954e-01    4      5
## 93  1.845370e-16 8.201026e-02 0.9072078792 3.843677e-02    4      4
## 94  6.597295e-10 1.258265e-13 0.0109302914 7.569604e-01    5      5
## 95  4.162784e-07 8.736479e-03 0.5747612464 3.430833e-01    4      5
## 96  2.246189e-15 1.356381e-05 0.7983185515 7.719791e-01    4      5
## 97  5.269457e-10 4.766743e-02 0.0060959181 9.624331e-01    5      5
## 98  1.123174e-07 2.612137e-02 0.0160971664 8.077569e-01    5      5
## 99  2.762272e-01 1.315801e-02 0.0189930348 4.145018e-01    5      2
## 100 6.847615e-09 2.488491e-01 0.4906213928 3.454907e-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