R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

library(caret)
## Loading required package: lattice
## Loading required package: ggplot2
library(plyr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:plyr':
## 
##     arrange, count, desc, failwith, id, mutate, rename, summarise,
##     summarize
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(C50)
library(kernlab)
## 
## Attaching package: 'kernlab'
## The following object is masked from 'package:ggplot2':
## 
##     alpha
library(e1071)

# Load data
Rwine <- read.csv( "winered.csv", header = TRUE , sep = ";" )
str(Rwine)
## 'data.frame':    1599 obs. of  12 variables:
##  $ fixed.acidity       : num  7.4 7.8 7.8 11.2 7.4 7.4 7.9 7.3 7.8 7.5 ...
##  $ volatile.acidity    : num  0.7 0.88 0.76 0.28 0.7 0.66 0.6 0.65 0.58 0.5 ...
##  $ citric.acid         : num  0 0 0.04 0.56 0 0 0.06 0 0.02 0.36 ...
##  $ residual.sugar      : num  1.9 2.6 2.3 1.9 1.9 1.8 1.6 1.2 2 6.1 ...
##  $ chlorides           : num  0.076 0.098 0.092 0.075 0.076 0.075 0.069 0.065 0.073 0.071 ...
##  $ free.sulfur.dioxide : num  11 25 15 17 11 13 15 15 9 17 ...
##  $ total.sulfur.dioxide: num  34 67 54 60 34 40 59 21 18 102 ...
##  $ density             : num  0.998 0.997 0.997 0.998 0.998 ...
##  $ pH                  : num  3.51 3.2 3.26 3.16 3.51 3.51 3.3 3.39 3.36 3.35 ...
##  $ sulphates           : num  0.56 0.68 0.65 0.58 0.56 0.56 0.46 0.47 0.57 0.8 ...
##  $ alcohol             : num  9.4 9.8 9.8 9.8 9.4 9.4 9.4 10 9.5 10.5 ...
##  $ quality             : int  5 5 5 6 5 5 5 7 7 5 ...
class(Rwine)
## [1] "data.frame"
Rwine$quality <- as.factor(Rwine$quality)
str(Rwine)
## 'data.frame':    1599 obs. of  12 variables:
##  $ fixed.acidity       : num  7.4 7.8 7.8 11.2 7.4 7.4 7.9 7.3 7.8 7.5 ...
##  $ volatile.acidity    : num  0.7 0.88 0.76 0.28 0.7 0.66 0.6 0.65 0.58 0.5 ...
##  $ citric.acid         : num  0 0 0.04 0.56 0 0 0.06 0 0.02 0.36 ...
##  $ residual.sugar      : num  1.9 2.6 2.3 1.9 1.9 1.8 1.6 1.2 2 6.1 ...
##  $ chlorides           : num  0.076 0.098 0.092 0.075 0.076 0.075 0.069 0.065 0.073 0.071 ...
##  $ free.sulfur.dioxide : num  11 25 15 17 11 13 15 15 9 17 ...
##  $ total.sulfur.dioxide: num  34 67 54 60 34 40 59 21 18 102 ...
##  $ density             : num  0.998 0.997 0.997 0.998 0.998 ...
##  $ pH                  : num  3.51 3.2 3.26 3.16 3.51 3.51 3.3 3.39 3.36 3.35 ...
##  $ sulphates           : num  0.56 0.68 0.65 0.58 0.56 0.56 0.46 0.47 0.57 0.8 ...
##  $ alcohol             : num  9.4 9.8 9.8 9.8 9.4 9.4 9.4 10 9.5 10.5 ...
##  $ quality             : Factor w/ 6 levels "3","4","5","6",..: 3 3 3 4 3 3 3 5 5 3 ...
sum(is.na(Rwine))
## [1] 0
corrMatrix <- cor(Rwine[,-12] , use = "pairwise.complete.obs")
table(is.na(corrMatrix))
## 
## FALSE 
##   121
# replace NA's
corrMatrix <- replace(corrMatrix, which(is.na(corrMatrix)), 0)
# Column indexes to remove
rmcols <- findCorrelation(corrMatrix, cutoff = 0.5, verbose = TRUE)
## Compare row 1  and column  3 with corr  0.672 
##   Means:  0.3 vs 0.19 so flagging column 1 
## Compare row 3  and column  9 with corr  0.542 
##   Means:  0.258 vs 0.173 so flagging column 3 
## Compare row 7  and column  6 with corr  0.668 
##   Means:  0.173 vs 0.16 so flagging column 7 
## All correlations <= 0.5
# Column names to remove
colnames(corrMatrix[,rmcols])
## [1] "fixed.acidity"        "citric.acid"          "total.sulfur.dioxide"
# New dataset with columns removed
Rwine1 <- Rwine[,-which(names(Rwine) %in% colnames(corrMatrix[,rmcols]))]

Including Plots

You can also embed plots, for example:

## [1] "volatile.acidity"    "residual.sugar"      "chlorides"          
## [4] "free.sulfur.dioxide" "density"             "pH"                 
## [7] "sulphates"           "alcohol"             "quality"
## C5.0 
## 
## 1202 samples
##    8 predictor
##    6 classes: '3', '4', '5', '6', '7', '8' 
## 
## No pre-processing
## Resampling: Cross-Validated (10 fold, repeated 1 times) 
## Summary of sample sizes: 1082, 1082, 1083, 1082, 1081, 1082, ... 
## Resampling results across tuning parameters:
## 
##   model  winnow  trials  Accuracy   Kappa    
##   rules  FALSE    1      0.5757031  0.3269682
##   rules  FALSE   10      0.6498304  0.4430491
##   rules  FALSE   20      0.6564972  0.4546811
##   rules   TRUE    1      0.5723629  0.3175320
##   rules   TRUE   10      0.6365660  0.4244958
##   rules   TRUE   20      0.6398443  0.4292661
##   tree   FALSE    1      0.5799113  0.3412427
##   tree   FALSE   10      0.6498169  0.4368292
##   tree   FALSE   20      0.6588936  0.4528531
##   tree    TRUE    1      0.5790436  0.3362621
##   tree    TRUE   10      0.6514353  0.4447137
##   tree    TRUE   20      0.6596993  0.4557600
## 
## Accuracy was used to select the optimal model using  the largest value.
## The final values used for the model were trials = 20, model = tree
##  and winnow = TRUE.
##   [1] 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 6 5 6 5 5 5
##  [36] 5 5 6 5 5 6 5 6 5 5 5 5 5 5 5 6 5 6 6 7 6 5 5 6 5 6 5 7 5 6 6 5 6 7 6
##  [71] 5 5 5 5 5 6 5 5 6 6 8 6 6 7 6 5 5 5 7 7 5 5 5 6 5 5 7 5 5 5 5 7 7 5 6
## [106] 6 6 6 6 6 5 6 5 5 5 6 5 6 5 5 5 7 6 7 7 7 7 6 7 6 5 6 6 5 6 5 6 5 5 7
## [141] 5 5 5 5 5 5 6 6 5 7 5 6 5 6 5 5 5 6 5 5 6 7 6 6 6 5 6 6 6 6 6 5 5 6 5
## [176] 5 6 5 5 5 5 4 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 6 7 7 7 5 6 6 5 5 5 5 5 6
## [211] 5 5 5 6 6 6 5 5 6 6 5 6 7 7 6 6 5 6 6 7 7 6 5 7 6 5 5 6 5 5 5 5 6 6 7
## [246] 6 6 7 6 6 5 6 6 5 6 5 7 5 6 7 5 7 6 7 6 6 5 6 6 7 4 6 7 6 5 7 6 6 5 6
## [281] 6 6 6 6 7 5 5 5 5 6 5 6 7 5 6 6 5 5 5 5 6 5 6 6 5 5 5 6 5 6 6 6 5 5 6
## [316] 6 5 6 6 7 6 6 5 5 5 6 6 5 5 5 5 5 6 6 5 5 5 6 6 6 5 5 5 6 5 6 5 5 7 6
## [351] 6 6 6 6 5 6 7 5 7 6 5 5 5 5 7 6 6 5 6 6 5 6 7 6 6 6 6 5 7 6 6 6 6 6 6
## [386] 5 6 5 5 5 6 6 6 7 7 6 6
## Levels: 3 4 5 6 7 8
##       Accuracy          Kappa  AccuracyLower  AccuracyUpper   AccuracyNull 
##   6.801008e-01   4.846633e-01   6.317414e-01   7.257498e-01   4.282116e-01 
## AccuracyPValue  McnemarPValue 
##   4.016961e-24            NaN
##          Sensitivity Specificity Pos Pred Value Neg Pred Value Precision
## Class: 3   0.0000000   1.0000000            NaN      0.9949622        NA
## Class: 4   0.0000000   0.9947917      0.0000000      0.9670886 0.0000000
## Class: 5   0.8058824   0.7400881      0.6989796      0.8358209 0.6989796
## Class: 6   0.6477987   0.7941176      0.6776316      0.7714286 0.6776316
## Class: 7   0.6122449   0.9540230      0.6521739      0.9458689 0.6521739
## Class: 8   0.0000000   0.9974555      0.0000000      0.9898990 0.0000000
##             Recall        F1  Prevalence Detection Rate
## Class: 3 0.0000000        NA 0.005037783     0.00000000
## Class: 4 0.0000000       NaN 0.032745592     0.00000000
## Class: 5 0.8058824 0.7486339 0.428211587     0.34508816
## Class: 6 0.6477987 0.6623794 0.400503778     0.25944584
## Class: 7 0.6122449 0.6315789 0.123425693     0.07556675
## Class: 8 0.0000000       NaN 0.010075567     0.00000000
##          Detection Prevalence Balanced Accuracy
## Class: 3          0.000000000         0.5000000
## Class: 4          0.005037783         0.4973958
## Class: 5          0.493702771         0.7729852
## Class: 6          0.382871537         0.7209582
## Class: 7          0.115869018         0.7831339
## Class: 8          0.002518892         0.4987277

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.

#nb
DecTreeModel4 <- train(trainingData[,-9], trainingData$quality, 
                       method = "nb",
                       trControl= TrainingParameters,
                       na.action = na.omit)
## Loading required package: klaR
## Loading required package: MASS
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
# check tree
DecTreeModel4
## Naive Bayes 
## 
## 1202 samples
##    8 predictor
##    6 classes: '3', '4', '5', '6', '7', '8' 
## 
## No pre-processing
## Resampling: Cross-Validated (10 fold, repeated 1 times) 
## Summary of sample sizes: 1082, 1082, 1081, 1082, 1082, 1082, ... 
## Resampling results across tuning parameters:
## 
##   usekernel  Accuracy   Kappa    
##   FALSE      0.5300138  0.2646092
##    TRUE      0.5666047  0.3120979
## 
## Tuning parameter 'fL' was held constant at a value of 0
## Tuning
##  parameter 'adjust' was held constant at a value of 1
## Accuracy was used to select the optimal model using  the largest value.
## The final values used for the model were fL = 0, usekernel = TRUE
##  and adjust = 1.
#Predict
DTPredictions4<-predict(DecTreeModel4, testData, na.action = na.pass)
# See predictions
DTPredictions4
##   [1] 5 5 7 5 6 5 5 5 5 5 6 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 8 5 5 5
##  [36] 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 7 6 6 6 6 5 7 6
##  [71] 5 5 6 6 5 6 5 5 6 6 7 6 6 6 5 5 5 5 7 7 6 5 5 6 5 5 6 5 5 5 5 6 7 6 6
## [106] 6 6 6 5 6 5 6 6 6 5 5 5 6 5 5 5 6 6 7 7 6 6 5 7 5 5 6 6 5 6 5 6 5 6 7
## [141] 5 6 5 5 5 5 6 5 5 7 5 6 5 6 5 5 5 5 3 5 6 8 5 7 6 5 6 5 6 5 5 5 5 5 6
## [176] 5 6 5 5 6 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 8 7 7 5 7 6 5 5 5 3 5 6
## [211] 5 5 5 6 6 6 6 6 5 6 5 6 7 5 6 5 5 5 5 7 7 6 5 7 6 5 6 6 5 5 5 6 6 6 7
## [246] 7 6 7 6 6 6 5 6 5 6 6 6 5 6 7 7 7 5 5 6 7 5 6 6 7 5 7 7 5 6 7 6 6 5 6
## [281] 6 5 5 6 7 5 5 5 6 7 5 5 6 5 6 6 5 5 5 6 5 4 6 6 5 5 5 6 5 6 5 5 6 3 6
## [316] 6 5 6 6 7 6 6 5 5 5 6 6 6 5 5 6 5 5 6 5 5 5 5 6 5 5 5 5 5 5 6 5 5 7 6
## [351] 6 6 6 7 6 5 7 5 7 6 4 6 6 5 8 6 4 5 6 6 5 6 6 6 6 6 6 5 6 6 5 6 6 6 6
## [386] 6 5 5 5 5 5 6 6 7 6 6 7
## Levels: 3 4 5 6 7 8
# Create confusion matrix
cm1 <-confusionMatrix(DTPredictions4, testData$quality)
cm1$overall
##       Accuracy          Kappa  AccuracyLower  AccuracyUpper   AccuracyNull 
##   6.498741e-01   4.387237e-01   6.007098e-01   6.967846e-01   4.282116e-01 
## AccuracyPValue  McnemarPValue 
##   5.132145e-19            NaN
cm1$byClass
##          Sensitivity Specificity Pos Pred Value Neg Pred Value Precision
## Class: 3  0.50000000   0.9949367      0.3333333      0.9974619 0.3333333
## Class: 4  0.07692308   0.9921875      0.2500000      0.9694656 0.2500000
## Class: 5  0.82352941   0.7180617      0.6862745      0.8445596 0.6862745
## Class: 6  0.58490566   0.7941176      0.6549296      0.7411765 0.6549296
## Class: 7  0.46938776   0.9511494      0.5750000      0.9271709 0.5750000
## Class: 8  0.00000000   0.9898219      0.0000000      0.9898219 0.0000000
##              Recall        F1  Prevalence Detection Rate
## Class: 3 0.50000000 0.4000000 0.005037783    0.002518892
## Class: 4 0.07692308 0.1176471 0.032745592    0.002518892
## Class: 5 0.82352941 0.7486631 0.428211587    0.352644836
## Class: 6 0.58490566 0.6179402 0.400503778    0.234256927
## Class: 7 0.46938776 0.5168539 0.123425693    0.057934509
## Class: 8 0.00000000       NaN 0.010075567    0.000000000
##          Detection Prevalence Balanced Accuracy
## Class: 3          0.007556675         0.7474684
## Class: 4          0.010075567         0.5345553
## Class: 5          0.513853904         0.7707955
## Class: 6          0.357682620         0.6895117
## Class: 7          0.100755668         0.7102686
## Class: 8          0.010075567         0.4949109
# paramter declaration for 10 fold
NoTrainingParameters <- trainControl(method = "repeatedcv", number = 10, repeats = 1)
set.seed(245)
#NN classifier
NNModel <- train(trainingData[,-9], trainingData$quality,
                 method = "nnet",
                 trControl= NoTrainingParameters,
                 tuneGrid = data.frame(size = 5,
                                       decay = 0
                 )
                 
)
## Loading required package: nnet
## # weights:  81
## initial  value 1988.171996 
## iter  10 value 1264.503605
## iter  20 value 1211.603327
## iter  30 value 1061.690426
## iter  40 value 1042.400183
## iter  50 value 1028.248268
## iter  60 value 1020.582808
## iter  70 value 1009.617882
## iter  80 value 1004.989469
## iter  90 value 1000.969762
## iter 100 value 997.977857
## final  value 997.977857 
## stopped after 100 iterations
## # weights:  81
## initial  value 2191.698309 
## iter  10 value 1265.081798
## iter  20 value 1176.435665
## iter  30 value 1112.503492
## iter  40 value 1041.444391
## iter  50 value 1020.720563
## iter  60 value 1007.263165
## iter  70 value 1002.273086
## iter  80 value 998.870334
## iter  90 value 998.565072
## iter 100 value 997.176009
## final  value 997.176009 
## stopped after 100 iterations
## # weights:  81
## initial  value 1880.650401 
## iter  10 value 1282.717474
## iter  20 value 1232.623129
## iter  30 value 1168.596518
## iter  40 value 1095.304250
## iter  50 value 1049.185317
## iter  60 value 1024.202611
## iter  70 value 1009.302352
## iter  80 value 996.489989
## iter  90 value 991.302093
## iter 100 value 988.030055
## final  value 988.030055 
## stopped after 100 iterations
## # weights:  81
## initial  value 1923.572108 
## iter  10 value 1270.365898
## iter  20 value 1210.767662
## iter  30 value 1107.519171
## iter  40 value 1048.966953
## iter  50 value 1030.756004
## iter  60 value 1014.656168
## iter  70 value 1012.196833
## iter  80 value 1010.150422
## iter  90 value 1001.379788
## iter 100 value 996.917814
## final  value 996.917814 
## stopped after 100 iterations
## # weights:  81
## initial  value 2806.040597 
## iter  10 value 1281.969417
## iter  20 value 1270.087493
## iter  30 value 1185.848391
## iter  40 value 1070.026659
## iter  50 value 1040.665584
## iter  60 value 1028.261344
## iter  70 value 1022.709840
## iter  80 value 1021.710833
## iter  90 value 1021.212302
## iter 100 value 1020.988549
## final  value 1020.988549 
## stopped after 100 iterations
## # weights:  81
## initial  value 1988.156889 
## iter  10 value 1294.222695
## iter  20 value 1288.607173
## iter  30 value 1288.509428
## final  value 1288.509331 
## converged
## # weights:  81
## initial  value 2414.613421 
## iter  10 value 1288.877559
## iter  20 value 1265.370683
## iter  30 value 1188.915222
## iter  40 value 1095.910579
## iter  50 value 1069.208977
## iter  60 value 1054.133105
## iter  70 value 1051.969671
## iter  80 value 1051.353561
## iter  90 value 1051.289814
## iter 100 value 1051.268734
## final  value 1051.268734 
## stopped after 100 iterations
## # weights:  81
## initial  value 1933.435766 
## iter  10 value 1298.998851
## iter  20 value 1185.207322
## iter  30 value 1107.184049
## iter  40 value 1070.657429
## iter  50 value 1063.849246
## iter  60 value 1061.931055
## iter  70 value 1061.454535
## iter  80 value 1061.340598
## iter  90 value 1061.224554
## iter 100 value 1061.213610
## final  value 1061.213610 
## stopped after 100 iterations
## # weights:  81
## initial  value 3645.812227 
## iter  10 value 1305.488196
## iter  20 value 1287.343710
## final  value 1287.343107 
## converged
## # weights:  81
## initial  value 2606.848726 
## iter  10 value 1279.592781
## iter  20 value 1260.937147
## iter  30 value 1206.390912
## iter  40 value 1069.931256
## iter  50 value 1039.411630
## iter  60 value 1032.689333
## iter  70 value 1029.737228
## iter  80 value 1018.386943
## iter  90 value 1006.173614
## iter 100 value 1001.379571
## final  value 1001.379571 
## stopped after 100 iterations
## # weights:  81
## initial  value 2379.778568 
## iter  10 value 1414.961258
## iter  20 value 1345.956625
## iter  30 value 1252.765841
## iter  40 value 1196.136662
## iter  50 value 1156.592097
## iter  60 value 1133.948309
## iter  70 value 1122.387515
## iter  80 value 1120.270809
## iter  90 value 1119.419601
## iter 100 value 1119.073499
## final  value 1119.073499 
## stopped after 100 iterations
NNPredictions <-predict(NNModel, testData)
# See predictions
NNPredictions
##   [1] 5 5 6 5 6 5 5 5 5 5 6 5 5 5 5 6 5 5 6 6 5 5 5 5 5 5 6 6 5 5 5 7 6 5 5
##  [36] 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 6 6 5 5 5 5 5 5 7 6 6 6 6 6 7 6
##  [71] 5 5 6 6 5 5 5 5 6 7 7 6 6 7 5 5 6 5 7 7 6 5 5 6 5 5 6 5 5 5 5 6 6 5 6
## [106] 6 6 6 6 6 5 6 6 6 5 5 5 6 6 5 5 6 6 7 7 6 6 5 7 5 5 6 6 5 6 6 7 5 6 6
## [141] 5 6 5 5 5 5 5 5 5 7 5 6 6 6 5 5 5 5 5 5 6 7 6 6 6 5 5 5 6 5 5 5 5 5 6
## [176] 5 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 6 7 7 7 6 6 6 5 5 5 5 5 6
## [211] 5 5 6 6 6 6 6 6 5 6 5 6 7 6 6 6 5 6 6 7 6 6 5 6 6 5 6 6 5 5 5 6 6 6 7
## [246] 7 6 7 6 5 6 6 6 5 6 6 6 5 6 6 5 7 5 6 6 7 5 7 6 7 5 6 7 5 6 7 6 6 5 6
## [281] 6 6 6 6 7 5 5 6 6 6 5 5 6 5 6 6 5 5 5 5 5 6 6 6 5 6 5 6 5 6 5 6 5 5 6
## [316] 6 5 5 6 6 6 6 5 5 5 6 6 6 5 5 6 5 6 6 5 5 5 5 6 5 5 5 5 5 5 6 5 5 6 6
## [351] 6 6 6 6 6 6 7 5 6 6 5 6 6 5 7 6 5 5 6 6 5 6 6 5 6 6 6 5 6 6 5 6 6 6 5
## [386] 6 6 5 5 5 6 6 6 6 6 6 6
## Levels: 3 4 5 6 7 8
# Create confusion matrix
cmNN <-confusionMatrix(NNPredictions, testData$quality)
cmNN$overall
##       Accuracy          Kappa  AccuracyLower  AccuracyUpper   AccuracyNull 
##   6.549118e-01   4.323007e-01   6.058672e-01   7.016268e-01   4.282116e-01 
## AccuracyPValue  McnemarPValue 
##   8.082425e-20            NaN
cmNN$byClass
##          Sensitivity Specificity Pos Pred Value Neg Pred Value Precision
## Class: 3   0.0000000   1.0000000            NaN      0.9949622        NA
## Class: 4   0.0000000   1.0000000            NaN      0.9672544        NA
## Class: 5   0.7941176   0.7577093      0.7105263      0.8309179 0.7105263
## Class: 6   0.6792453   0.7142857      0.6136364      0.7692308 0.6136364
## Class: 7   0.3469388   0.9597701      0.5483871      0.9125683 0.5483871
## Class: 8   0.0000000   1.0000000            NaN      0.9899244        NA
##             Recall        F1  Prevalence Detection Rate
## Class: 3 0.0000000        NA 0.005037783     0.00000000
## Class: 4 0.0000000        NA 0.032745592     0.00000000
## Class: 5 0.7941176 0.7500000 0.428211587     0.34005038
## Class: 6 0.6792453 0.6447761 0.400503778     0.27204030
## Class: 7 0.3469388 0.4250000 0.123425693     0.04282116
## Class: 8 0.0000000        NA 0.010075567     0.00000000
##          Detection Prevalence Balanced Accuracy
## Class: 3           0.00000000         0.5000000
## Class: 4           0.00000000         0.5000000
## Class: 5           0.47858942         0.7759134
## Class: 6           0.44332494         0.6967655
## Class: 7           0.07808564         0.6533544
## Class: 8           0.00000000         0.5000000
# train model with SVM
TrainingDataIndex1 <- createDataPartition(Rwine1$quality, p=0.70, list = FALSE)

SVModel <- train(quality ~ ., data = trainingData,
                 method = "svmPoly",
                 trControl= NoTrainingParameters,
                 tuneGrid = data.frame(degree = 1,
                                       scale = 1,
                                       C = 1
                 )
                 
)

SVMPredictions <-predict(SVModel, testData)
# See predictions
SVMPredictions
##   [1] 5 5 6 5 6 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 5 5 5 5 5 5 6 6 5 5 5 6 6 5 5
##  [36] 6 6 5 5 5 5 6 5 5 5 5 5 5 5 6 6 6 5 5 6 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6
##  [71] 5 5 6 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 6 6 6 5 5 6 5 5 6 5 5 5 5 6 6 6 6
## [106] 6 6 6 6 6 5 6 6 6 5 5 5 6 6 5 5 6 6 6 6 6 6 5 6 5 5 6 6 5 6 6 6 5 6 6
## [141] 5 5 5 5 5 5 5 5 5 6 5 6 6 5 5 5 5 5 5 5 6 6 5 6 6 5 5 5 6 5 5 5 5 5 6
## [176] 5 6 5 5 6 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 5 5 5 5 5 6
## [211] 5 5 6 6 6 6 6 6 5 6 5 5 6 6 6 6 5 6 5 6 6 6 5 6 6 5 6 6 5 5 5 6 6 6 6
## [246] 6 6 6 6 5 6 5 6 5 6 6 6 5 6 6 6 6 5 6 6 6 5 6 6 6 5 6 6 5 6 6 6 6 5 6
## [281] 6 5 6 6 6 5 5 6 6 6 5 5 6 5 5 6 5 5 5 5 5 6 6 6 5 6 5 5 5 6 5 6 5 5 6
## [316] 6 5 6 6 6 6 6 5 5 5 5 5 6 5 5 6 5 5 6 5 5 5 5 6 5 5 5 5 5 5 6 5 5 6 6
## [351] 6 6 6 6 6 5 6 5 6 6 5 6 6 5 6 6 5 5 6 6 5 6 6 5 5 6 6 5 6 6 5 6 5 5 5
## [386] 6 6 5 5 5 6 6 6 6 6 6 6
## Levels: 3 4 5 6 7 8
# Create confusion matrix
cmSVM <-confusionMatrix(SVMPredictions, testData$quality)
cmSVM$overall
##       Accuracy          Kappa  AccuracyLower  AccuracyUpper   AccuracyNull 
##   5.818640e-01   2.853828e-01   5.316241e-01   6.308742e-01   4.282116e-01 
## AccuracyPValue  McnemarPValue 
##   5.465011e-10            NaN
cmSVM$byClass
##          Sensitivity Specificity Pos Pred Value Neg Pred Value Precision
## Class: 3   0.0000000   1.0000000            NaN      0.9949622        NA
## Class: 4   0.0000000   1.0000000            NaN      0.9672544        NA
## Class: 5   0.7764706   0.6740088      0.6407767      0.8010471 0.6407767
## Class: 6   0.6226415   0.6134454      0.5183246      0.7087379 0.5183246
## Class: 7   0.0000000   1.0000000            NaN      0.8765743        NA
## Class: 8   0.0000000   1.0000000            NaN      0.9899244        NA
##             Recall        F1  Prevalence Detection Rate
## Class: 3 0.0000000        NA 0.005037783      0.0000000
## Class: 4 0.0000000        NA 0.032745592      0.0000000
## Class: 5 0.7764706 0.7021277 0.428211587      0.3324937
## Class: 6 0.6226415 0.5657143 0.400503778      0.2493703
## Class: 7 0.0000000        NA 0.123425693      0.0000000
## Class: 8 0.0000000        NA 0.010075567      0.0000000
##          Detection Prevalence Balanced Accuracy
## Class: 3            0.0000000         0.5000000
## Class: 4            0.0000000         0.5000000
## Class: 5            0.5188917         0.7252397
## Class: 6            0.4811083         0.6180434
## Class: 7            0.0000000         0.5000000
## Class: 8            0.0000000         0.5000000
# train model with PCA -decision tree
TrainingDataIndex2 <- createDataPartition(Rwine1$quality, p=0.75, list = FALSE)

DecTreeModel2 <- train(trainingData[,-9], trainingData$quality, 
                       method = "C5.0",
                       trControl= TrainingParameters,
                       preProcess = c("pca"),
                       na.action = na.omit)
DecTreeModel2
## C5.0 
## 
## 1202 samples
##    8 predictor
##    6 classes: '3', '4', '5', '6', '7', '8' 
## 
## Pre-processing: principal component signal extraction (8), centered
##  (8), scaled (8) 
## Resampling: Cross-Validated (10 fold, repeated 1 times) 
## Summary of sample sizes: 1083, 1081, 1082, 1081, 1081, 1081, ... 
## Resampling results across tuning parameters:
## 
##   model  winnow  trials  Accuracy   Kappa    
##   rules  FALSE    1      0.5558246  0.2898855
##   rules  FALSE   10      0.5975567  0.3636733
##   rules  FALSE   20      0.6023544  0.3723878
##   rules   TRUE    1      0.5508382  0.2848263
##   rules   TRUE   10      0.5967580  0.3614330
##   rules   TRUE   20      0.5957220  0.3606184
##   tree   FALSE    1      0.5607963  0.3028572
##   tree   FALSE   10      0.6107024  0.3768949
##   tree   FALSE   20      0.6248775  0.4000253
##   tree    TRUE    1      0.5540736  0.2910306
##   tree    TRUE   10      0.6073268  0.3708163
##   tree    TRUE   20      0.6190576  0.3898641
## 
## Accuracy was used to select the optimal model using  the largest value.
## The final values used for the model were trials = 20, model = tree
##  and winnow = FALSE.
#predict
DTPredictions2 <-predict(DecTreeModel2, testData, na.action = na.pass)
# See predictions
DTPredictions2
##   [1] 5 5 5 5 6 5 5 5 5 5 5 6 5 5 6 6 5 5 6 5 5 5 5 6 5 5 6 5 5 6 5 6 5 5 5
##  [36] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 7 6 5 6 5 5 6 5 7 5 6 6 5 6 6 6
##  [71] 5 5 6 5 6 6 5 5 6 6 6 6 6 6 5 5 5 5 7 6 6 6 6 6 5 5 6 5 5 5 5 7 7 6 6
## [106] 6 6 7 5 6 5 6 6 6 5 5 5 6 5 6 6 6 6 7 6 7 7 6 6 5 5 6 5 5 6 5 6 5 6 7
## [141] 5 5 5 5 5 5 6 6 5 5 6 6 5 6 5 5 5 5 5 5 6 7 6 6 6 5 6 6 6 6 5 5 5 6 6
## [176] 5 6 5 5 6 5 4 5 5 5 5 5 5 5 5 5 6 5 5 5 5 6 6 7 7 7 5 6 6 5 6 5 3 5 6
## [211] 5 5 6 6 6 6 6 6 6 6 5 6 7 7 6 6 5 6 5 7 7 6 5 6 6 5 5 5 5 5 5 5 7 7 7
## [246] 7 6 7 6 6 5 6 6 5 6 6 7 5 6 7 5 7 6 7 6 7 5 6 6 7 5 6 6 6 6 7 6 6 6 7
## [281] 6 6 6 7 6 5 5 5 6 6 5 6 7 5 6 6 5 5 5 6 5 5 6 6 5 5 5 6 5 6 6 6 6 5 6
## [316] 6 5 5 7 6 6 6 5 5 5 6 6 6 5 5 5 5 6 6 5 5 5 5 6 5 5 5 5 6 5 6 5 5 7 6
## [351] 6 6 7 7 6 5 6 5 7 6 6 6 6 5 7 6 6 5 6 6 6 6 6 6 5 6 6 5 6 6 5 6 5 5 5
## [386] 5 6 5 5 5 6 7 5 6 7 6 6
## Levels: 3 4 5 6 7 8
# Create confusion matrix
cm2 <-confusionMatrix(DTPredictions2, testData$quality)
cm2$overall
##       Accuracy          Kappa  AccuracyLower  AccuracyUpper   AccuracyNull 
##   6.926952e-01   5.020920e-01   6.447351e-01   7.377545e-01   4.282116e-01 
## AccuracyPValue  McnemarPValue 
##   1.848038e-26            NaN
cm2$byClass
##          Sensitivity Specificity Pos Pred Value Neg Pred Value Precision
## Class: 3   0.0000000   0.9974684      0.0000000      0.9949495 0.0000000
## Class: 4   0.0000000   0.9973958      0.0000000      0.9671717 0.0000000
## Class: 5   0.7647059   0.7621145      0.7065217      0.8122066 0.7065217
## Class: 6   0.7169811   0.7647059      0.6705882      0.8017621 0.6705882
## Class: 7   0.6326531   0.9712644      0.7560976      0.9494382 0.7560976
## Class: 8   0.0000000   1.0000000            NaN      0.9899244        NA
##             Recall        F1  Prevalence Detection Rate
## Class: 3 0.0000000       NaN 0.005037783     0.00000000
## Class: 4 0.0000000       NaN 0.032745592     0.00000000
## Class: 5 0.7647059 0.7344633 0.428211587     0.32745592
## Class: 6 0.7169811 0.6930091 0.400503778     0.28715365
## Class: 7 0.6326531 0.6888889 0.123425693     0.07808564
## Class: 8 0.0000000        NA 0.010075567     0.00000000
##          Detection Prevalence Balanced Accuracy
## Class: 3          0.002518892         0.4987342
## Class: 4          0.002518892         0.4986979
## Class: 5          0.463476071         0.7634102
## Class: 6          0.428211587         0.7408435
## Class: 7          0.103274559         0.8019587
## Class: 8          0.000000000         0.5000000
# PCA with nb

DecTreeModel3 <- train(trainingData[,-9], trainingData$quality, 
                       method = "nb",
                       trControl= TrainingParameters,
                       preProcess = c("pca"),
                       na.action = na.omit)
DecTreeModel3
## Naive Bayes 
## 
## 1202 samples
##    8 predictor
##    6 classes: '3', '4', '5', '6', '7', '8' 
## 
## Pre-processing: principal component signal extraction (8), centered
##  (8), scaled (8) 
## Resampling: Cross-Validated (10 fold, repeated 1 times) 
## Summary of sample sizes: 1083, 1083, 1081, 1082, 1080, 1082, ... 
## Resampling results across tuning parameters:
## 
##   usekernel  Accuracy   Kappa    
##   FALSE      0.5416133  0.2610351
##    TRUE      0.5406756  0.2578611
## 
## Tuning parameter 'fL' was held constant at a value of 0
## Tuning
##  parameter 'adjust' was held constant at a value of 1
## Accuracy was used to select the optimal model using  the largest value.
## The final values used for the model were fL = 0, usekernel = FALSE
##  and adjust = 1.
#predict
DTPredictions3 <-predict(DecTreeModel3, testData, na.action = na.pass)
# See predictions
DTPredictions3
##   [1] 5 5 6 5 6 4 5 5 5 5 4 5 5 5 5 6 5 4 4 6 5 5 5 5 6 5 6 6 5 5 5 7 6 5 5
##  [36] 6 6 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 4 5 5 5 5 7 5 6 6 5 6 7 6
##  [71] 5 5 6 6 5 5 5 5 6 7 7 6 6 7 5 5 5 5 7 7 6 5 5 6 5 5 6 5 5 6 5 6 7 6 6
## [106] 6 6 6 5 6 5 6 6 6 5 5 5 6 6 5 5 6 6 7 6 6 6 5 6 5 5 6 6 5 6 6 7 5 6 6
## [141] 5 5 5 5 5 5 5 5 5 7 5 6 4 6 5 5 5 5 5 5 6 7 6 6 6 5 5 5 5 5 5 4 5 5 6
## [176] 4 6 5 5 4 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 6 5 8 7 7 5 6 5 5 5 5 5 5 6
## [211] 5 5 6 6 6 5 6 6 5 5 5 5 7 5 5 6 5 6 5 6 6 6 5 6 6 5 6 6 5 5 5 6 6 6 7
## [246] 7 6 7 6 6 6 5 6 5 6 6 7 5 6 7 6 6 5 6 6 7 5 6 6 7 5 6 7 5 6 7 6 6 5 6
## [281] 6 6 6 6 7 5 4 6 6 7 5 5 6 5 5 6 5 5 5 5 5 5 6 6 5 6 5 5 5 6 5 6 5 4 6
## [316] 5 5 5 6 6 6 6 5 5 5 5 5 6 5 5 6 5 5 6 5 5 5 4 7 4 5 5 5 5 5 6 5 5 6 6
## [351] 6 6 6 6 6 5 6 5 6 5 5 6 6 4 7 6 5 5 6 6 5 6 6 5 6 6 6 5 6 6 5 6 6 5 5
## [386] 6 5 5 5 5 4 6 6 6 6 6 6
## Levels: 3 4 5 6 7 8
# Create confusion matrix
cm3 <-confusionMatrix(DTPredictions3, testData$quality)
cm3$overall
##       Accuracy          Kappa  AccuracyLower  AccuracyUpper   AccuracyNull 
##   5.717884e-01   3.109398e-01   5.214712e-01   6.210275e-01   4.282116e-01 
## AccuracyPValue  McnemarPValue 
##   6.269718e-09            NaN
cm3$byClass
##          Sensitivity Specificity Pos Pred Value Neg Pred Value Precision
## Class: 3   0.0000000   1.0000000            NaN      0.9949622        NA
## Class: 4   0.0000000   0.9583333      0.0000000      0.9658793 0.0000000
## Class: 5   0.7294118   0.6563877      0.6138614      0.7641026 0.6138614
## Class: 6   0.5345912   0.7310924      0.5704698      0.7016129 0.5704698
## Class: 7   0.3673469   0.9683908      0.6206897      0.9157609 0.6206897
## Class: 8   0.0000000   0.9974555      0.0000000      0.9898990 0.0000000
##             Recall        F1  Prevalence Detection Rate
## Class: 3 0.0000000        NA 0.005037783     0.00000000
## Class: 4 0.0000000       NaN 0.032745592     0.00000000
## Class: 5 0.7294118 0.6666667 0.428211587     0.31234257
## Class: 6 0.5345912 0.5519481 0.400503778     0.21410579
## Class: 7 0.3673469 0.4615385 0.123425693     0.04534005
## Class: 8 0.0000000       NaN 0.010075567     0.00000000
##          Detection Prevalence Balanced Accuracy
## Class: 3          0.000000000         0.5000000
## Class: 4          0.040302267         0.4791667
## Class: 5          0.508816121         0.6928997
## Class: 6          0.375314861         0.6328418
## Class: 7          0.073047859         0.6678689
## Class: 8          0.002518892         0.4987277
# PCA with NN 



NoTrainingParameters1 <- trainControl(method = "repeatedcv", number = 10, repeats = 1)
set.seed(245)
NNModel1 <- train(trainingData[,-9], trainingData$quality,
                  method = "nnet",
                  trControl= NoTrainingParameters1,
                  preProcess = c("pca"),
                  tuneGrid = data.frame(size = 5,
                                        decay = 0
                  )
                  
)
## # weights:  76
## initial  value 1569.750316 
## iter  10 value 1071.908574
## iter  20 value 1011.177103
## iter  30 value 991.937753
## iter  40 value 978.500571
## iter  50 value 974.660346
## iter  60 value 972.011638
## iter  70 value 967.753856
## iter  80 value 965.479405
## iter  90 value 962.853607
## iter 100 value 960.523599
## final  value 960.523599 
## stopped after 100 iterations
## # weights:  76
## initial  value 2278.668446 
## iter  10 value 1132.305666
## iter  20 value 1030.028549
## iter  30 value 1001.869613
## iter  40 value 992.288815
## iter  50 value 983.476751
## iter  60 value 973.878877
## iter  70 value 969.500282
## iter  80 value 961.690877
## iter  90 value 956.283404
## iter 100 value 954.026571
## final  value 954.026571 
## stopped after 100 iterations
## # weights:  76
## initial  value 2299.835967 
## iter  10 value 1105.015824
## iter  20 value 1026.310206
## iter  30 value 1007.929075
## iter  40 value 992.668967
## iter  50 value 984.173017
## iter  60 value 979.558668
## iter  70 value 975.064622
## iter  80 value 969.028635
## iter  90 value 962.115214
## iter 100 value 957.544699
## final  value 957.544699 
## stopped after 100 iterations
## # weights:  76
## initial  value 1878.689878 
## iter  10 value 1084.748045
## iter  20 value 1020.011150
## iter  30 value 1003.850075
## iter  40 value 993.680085
## iter  50 value 987.023836
## iter  60 value 977.726990
## iter  70 value 972.965805
## iter  80 value 965.504153
## iter  90 value 960.190838
## iter 100 value 957.194146
## final  value 957.194146 
## stopped after 100 iterations
## # weights:  76
## initial  value 1742.450340 
## iter  10 value 1153.367171
## iter  20 value 1049.835142
## iter  30 value 1032.209400
## iter  40 value 1007.692461
## iter  50 value 988.335874
## iter  60 value 973.767344
## iter  70 value 970.252551
## iter  80 value 967.258680
## iter  90 value 964.825770
## iter 100 value 962.625438
## final  value 962.625438 
## stopped after 100 iterations
## # weights:  76
## initial  value 2247.428320 
## iter  10 value 1109.062326
## iter  20 value 1024.530303
## iter  30 value 1008.706522
## iter  40 value 1001.652214
## iter  50 value 997.489904
## iter  60 value 994.345976
## iter  70 value 987.213013
## iter  80 value 982.935617
## iter  90 value 979.528005
## iter 100 value 975.619087
## final  value 975.619087 
## stopped after 100 iterations
## # weights:  76
## initial  value 2009.159643 
## iter  10 value 1055.951605
## iter  20 value 993.494704
## iter  30 value 975.674631
## iter  40 value 968.619805
## iter  50 value 961.442946
## iter  60 value 953.923491
## iter  70 value 948.046717
## iter  80 value 942.682709
## iter  90 value 937.448625
## iter 100 value 934.232240
## final  value 934.232240 
## stopped after 100 iterations
## # weights:  76
## initial  value 1878.165656 
## iter  10 value 1137.064076
## iter  20 value 1039.437661
## iter  30 value 1010.139483
## iter  40 value 995.726641
## iter  50 value 990.538951
## iter  60 value 984.638591
## iter  70 value 976.901633
## iter  80 value 967.802753
## iter  90 value 960.847235
## iter 100 value 959.270705
## final  value 959.270705 
## stopped after 100 iterations
## # weights:  76
## initial  value 2190.778631 
## iter  10 value 1085.287714
## iter  20 value 1030.905049
## iter  30 value 1008.130315
## iter  40 value 995.455584
## iter  50 value 983.644887
## iter  60 value 977.223393
## iter  70 value 971.303407
## iter  80 value 966.256476
## iter  90 value 961.810467
## iter 100 value 959.207177
## final  value 959.207177 
## stopped after 100 iterations
## # weights:  76
## initial  value 2695.956316 
## iter  10 value 1132.683010
## iter  20 value 1024.325309
## iter  30 value 1005.509893
## iter  40 value 998.416374
## iter  50 value 993.345031
## iter  60 value 977.806784
## iter  70 value 968.272151
## iter  80 value 964.646917
## iter  90 value 962.321053
## iter 100 value 959.931351
## final  value 959.931351 
## stopped after 100 iterations
## # weights:  76
## initial  value 2481.754818 
## iter  10 value 1209.403432
## iter  20 value 1133.078310
## iter  30 value 1099.245448
## iter  40 value 1087.904054
## iter  50 value 1081.293677
## iter  60 value 1078.176423
## iter  70 value 1074.961285
## iter  80 value 1070.202139
## iter  90 value 1068.308581
## iter 100 value 1066.219519
## final  value 1066.219519 
## stopped after 100 iterations
NNPredictions1 <-predict(NNModel1, testData)
# See predictions
NNPredictions1
##   [1] 5 5 6 5 6 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 6 5 5 5 6 6 5 5 5 7 5 5 5
##  [36] 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 5 5 5 6 3 5 5 5 5 5 5 7 6 6 6 6 5 7 6
##  [71] 5 5 6 5 5 5 5 5 6 7 7 6 6 6 5 5 5 5 7 7 6 6 5 6 5 5 6 6 5 5 5 6 7 6 6
## [106] 6 6 7 5 6 5 6 6 6 5 5 5 6 6 5 5 6 6 7 6 7 7 5 7 5 5 6 6 5 6 5 6 5 6 6
## [141] 5 6 5 5 5 5 5 5 5 7 5 6 5 6 5 5 5 5 5 5 6 7 6 7 6 5 5 6 6 6 5 5 5 6 6
## [176] 3 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 5 6 5 5 5 5 5 5 7
## [211] 6 6 6 6 6 6 6 6 5 6 5 5 7 5 6 5 6 5 6 7 6 5 5 7 7 5 6 6 5 5 6 6 6 6 7
## [246] 7 6 7 5 5 6 6 6 3 6 6 7 5 6 7 5 7 5 5 6 7 5 7 6 7 5 6 7 6 6 7 6 6 5 6
## [281] 6 5 6 7 7 5 5 6 6 7 5 5 6 5 6 6 5 6 5 6 5 5 6 6 5 6 5 6 5 6 5 6 6 3 6
## [316] 6 5 5 7 7 6 6 5 5 5 6 6 6 5 5 6 5 6 6 5 5 6 5 6 5 5 5 5 6 5 6 5 5 7 6
## [351] 6 6 6 7 6 6 7 5 7 6 6 6 6 6 7 6 6 5 6 6 6 6 6 6 6 6 6 5 6 6 5 6 6 5 6
## [386] 6 6 5 5 5 5 6 6 7 6 6 6
## Levels: 3 4 5 6 7 8
# Create confusion matrix
cmNN1 <-confusionMatrix(NNPredictions1, testData$quality)
cmNN1$overall
##       Accuracy          Kappa  AccuracyLower  AccuracyUpper   AccuracyNull 
##   6.498741e-01   4.373904e-01   6.007098e-01   6.967846e-01   4.282116e-01 
## AccuracyPValue  McnemarPValue 
##   5.132145e-19            NaN
cmNN1$byClass
##          Sensitivity Specificity Pos Pred Value Neg Pred Value Precision
## Class: 3   0.5000000   0.9924051      0.2500000      0.9974555 0.2500000
## Class: 4   0.0000000   1.0000000            NaN      0.9672544        NA
## Class: 5   0.7764706   0.7444934      0.6947368      0.8164251 0.6947368
## Class: 6   0.6163522   0.7521008      0.6242038      0.7458333 0.6242038
## Class: 7   0.5510204   0.9454023      0.5869565      0.9373219 0.5869565
## Class: 8   0.0000000   1.0000000            NaN      0.9899244        NA
##             Recall        F1  Prevalence Detection Rate
## Class: 3 0.5000000 0.3333333 0.005037783    0.002518892
## Class: 4 0.0000000        NA 0.032745592    0.000000000
## Class: 5 0.7764706 0.7333333 0.428211587    0.332493703
## Class: 6 0.6163522 0.6202532 0.400503778    0.246851385
## Class: 7 0.5510204 0.5684211 0.123425693    0.068010076
## Class: 8 0.0000000        NA 0.010075567    0.000000000
##          Detection Prevalence Balanced Accuracy
## Class: 3           0.01007557         0.7462025
## Class: 4           0.00000000         0.5000000
## Class: 5           0.47858942         0.7604820
## Class: 6           0.39546599         0.6842265
## Class: 7           0.11586902         0.7482114
## Class: 8           0.00000000         0.5000000
#PCA with SVM

TrainingDataIndex3 <- createDataPartition(Rwine1$quality, p=0.70, list = FALSE)


SVModel1 <- train(quality ~ ., data = trainingData,
                  method = "svmPoly",
                  trControl= NoTrainingParameters,
                  preProcess = c("pca"),
                  tuneGrid = data.frame(degree = 1,
                                        scale = 1,
                                        C = 1
                  ))

SVMPredictions1 <-predict(SVModel1, testData)
# See predictions
SVMPredictions1
##   [1] 5 5 6 5 6 5 5 5 5 5 5 5 5 5 5 6 5 5 6 6 5 5 5 5 6 5 6 6 5 5 5 6 6 5 5
##  [36] 6 6 5 5 5 5 6 5 5 5 5 5 5 5 6 6 6 5 5 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6
##  [71] 5 5 6 6 5 5 5 5 6 6 6 6 6 6 5 5 5 5 6 6 6 5 5 6 5 5 6 5 5 6 5 6 6 6 6
## [106] 6 6 6 6 6 5 6 6 6 5 5 5 6 6 5 5 6 6 6 6 6 6 5 6 5 5 6 6 5 6 6 6 5 5 6
## [141] 5 5 5 5 5 5 5 5 5 6 5 6 6 6 5 5 5 5 5 5 6 6 5 6 5 5 5 5 6 5 5 5 5 5 6
## [176] 5 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 6
## [211] 5 5 6 6 6 6 6 6 5 6 5 5 6 6 6 6 5 6 5 6 6 6 5 6 6 5 6 6 5 5 5 6 6 6 6
## [246] 6 6 6 6 6 6 5 6 5 6 6 6 5 6 6 6 6 5 6 6 6 5 6 6 6 5 6 6 5 6 6 6 6 5 6
## [281] 6 5 6 6 6 5 5 6 6 6 5 5 6 5 5 6 5 5 5 5 5 6 6 6 5 6 5 5 5 6 5 5 5 5 6
## [316] 6 5 6 6 6 6 6 5 5 5 5 5 6 5 5 6 5 5 6 5 5 5 5 6 5 5 5 5 5 5 6 5 5 6 6
## [351] 6 6 6 6 6 5 6 5 6 6 5 6 6 5 6 6 5 5 6 6 5 6 6 5 6 6 6 5 6 6 5 6 5 5 5
## [386] 6 6 5 5 5 6 6 6 6 6 6 6
## Levels: 3 4 5 6 7 8
# Create confusion matrix
cmSVM1 <-confusionMatrix(SVMPredictions1, testData$quality)
cmSVM1$overall
##       Accuracy          Kappa  AccuracyLower  AccuracyUpper   AccuracyNull 
##   5.919395e-01   3.031012e-01   5.417978e-01   6.407002e-01   4.282116e-01 
## AccuracyPValue  McnemarPValue 
##   4.052257e-11            NaN
cmSVM1$byClass
##          Sensitivity Specificity Pos Pred Value Neg Pred Value Precision
## Class: 3   0.0000000   1.0000000            NaN      0.9949622        NA
## Class: 4   0.0000000   1.0000000            NaN      0.9672544        NA
## Class: 5   0.7705882   0.6960352      0.6550000      0.8020305 0.6550000
## Class: 6   0.6540881   0.6092437      0.5279188      0.7250000 0.5279188
## Class: 7   0.0000000   1.0000000            NaN      0.8765743        NA
## Class: 8   0.0000000   1.0000000            NaN      0.9899244        NA
##             Recall        F1  Prevalence Detection Rate
## Class: 3 0.0000000        NA 0.005037783      0.0000000
## Class: 4 0.0000000        NA 0.032745592      0.0000000
## Class: 5 0.7705882 0.7081081 0.428211587      0.3299748
## Class: 6 0.6540881 0.5842697 0.400503778      0.2619647
## Class: 7 0.0000000        NA 0.123425693      0.0000000
## Class: 8 0.0000000        NA 0.010075567      0.0000000
##          Detection Prevalence Balanced Accuracy
## Class: 3            0.0000000         0.5000000
## Class: 4            0.0000000         0.5000000
## Class: 5            0.5037783         0.7333117
## Class: 6            0.4962217         0.6316659
## Class: 7            0.0000000         0.5000000
## Class: 8            0.0000000         0.5000000
#ada
library(rpart)
library(adabag)
## Loading required package: mlbench
Rwine1.boostcv <- boosting.cv(quality ~ ., v=10, data=trainingData, mfinal=10, 
                            control=rpart.control(cp=0.01))
## i:  1 Fri Mar 17 10:52:07 2017 
## i:  2 Fri Mar 17 10:52:10 2017 
## i:  3 Fri Mar 17 10:52:13 2017 
## i:  4 Fri Mar 17 10:52:15 2017 
## i:  5 Fri Mar 17 10:52:18 2017 
## i:  6 Fri Mar 17 10:52:21 2017 
## i:  7 Fri Mar 17 10:52:24 2017 
## i:  8 Fri Mar 17 10:52:26 2017 
## i:  9 Fri Mar 17 10:52:29 2017 
## i:  10 Fri Mar 17 10:52:32 2017
Rwine1.boostcv
## $class
##    [1] "5" "5" "6" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5"
##   [18] "5" "5" "5" "5" "5" "5" "5" "5" "5" "6" "6" "5" "5" "6" "5" "5" "5"
##   [35] "6" "5" "5" "6" "6" "6" "5" "5" "5" "6" "5" "5" "5" "5" "5" "5" "6"
##   [52] "6" "5" "6" "5" "5" "5" "6" "6" "5" "5" "5" "5" "5" "5" "5" "6" "6"
##   [69] "5" "5" "5" "5" "5" "5" "5" "6" "5" "5" "6" "6" "5" "5" "5" "5" "6"
##   [86] "5" "5" "5" "6" "5" "6" "6" "5" "6" "5" "5" "6" "5" "5" "5" "5" "5"
##  [103] "5" "5" "6" "5" "5" "5" "5" "5" "5" "7" "5" "5" "5" "5" "5" "6" "5"
##  [120] "6" "6" "5" "5" "5" "5" "5" "5" "5" "5" "6" "6" "5" "5" "5" "5" "5"
##  [137] "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "6" "6" "6" "5"
##  [154] "6" "6" "5" "5" "5" "6" "7" "5" "5" "6" "7" "5" "5" "5" "5" "5" "5"
##  [171] "5" "5" "5" "5" "6" "5" "5" "5" "6" "6" "5" "6" "5" "5" "5" "5" "5"
##  [188] "6" "5" "6" "5" "5" "5" "6" "5" "5" "5" "6" "5" "6" "5" "6" "5" "6"
##  [205] "6" "6" "6" "5" "5" "5" "6" "5" "5" "6" "6" "6" "5" "6" "6" "6" "5"
##  [222] "5" "5" "5" "6" "6" "5" "6" "5" "5" "5" "5" "5" "5" "5" "5" "6" "5"
##  [239] "5" "6" "6" "6" "5" "5" "5" "5" "6" "5" "7" "6" "5" "7" "5" "6" "7"
##  [256] "7" "5" "6" "6" "6" "6" "5" "6" "5" "6" "5" "5" "5" "7" "7" "6" "6"
##  [273] "7" "5" "6" "5" "6" "5" "7" "5" "6" "5" "7" "5" "6" "6" "7" "7" "6"
##  [290] "6" "6" "6" "6" "6" "5" "5" "6" "6" "5" "5" "5" "6" "5" "6" "6" "6"
##  [307] "6" "6" "5" "6" "6" "6" "5" "5" "7" "5" "6" "6" "5" "7" "5" "5" "6"
##  [324] "6" "5" "6" "6" "5" "6" "5" "5" "5" "6" "5" "7" "6" "5" "5" "5" "6"
##  [341] "6" "6" "5" "5" "7" "5" "6" "5" "6" "6" "6" "6" "7" "6" "6" "6" "6"
##  [358] "5" "6" "7" "5" "5" "6" "7" "6" "6" "5" "6" "7" "6" "6" "6" "6" "7"
##  [375] "6" "6" "7" "7" "6" "7" "5" "5" "6" "5" "5" "6" "6" "5" "7" "6" "6"
##  [392] "6" "6" "5" "5" "6" "6" "6" "5" "5" "5" "6" "6" "6" "5" "6" "6" "5"
##  [409] "5" "6" "6" "5" "5" "7" "5" "5" "6" "6" "6" "6" "5" "5" "6" "6" "5"
##  [426] "5" "6" "6" "5" "6" "6" "6" "6" "5" "6" "6" "5" "5" "5" "6" "6" "6"
##  [443] "7" "7" "6" "6" "5" "5" "5" "5" "6" "5" "5" "5" "5" "5" "6" "5" "5"
##  [460] "6" "5" "5" "5" "5" "6" "6" "5" "7" "5" "5" "5" "5" "5" "5" "6" "5"
##  [477] "5" "5" "5" "5" "6" "5" "5" "5" "5" "5" "5" "6" "6" "5" "6" "6" "5"
##  [494] "5" "5" "6" "5" "6" "5" "6" "5" "5" "6" "6" "6" "5" "5" "5" "5" "5"
##  [511] "5" "6" "5" "6" "5" "5" "6" "5" "5" "5" "5" "5" "6" "5" "5" "5" "5"
##  [528] "5" "6" "5" "5" "5" "6" "5" "5" "5" "5" "5" "6" "5" "5" "5" "5" "6"
##  [545] "5" "6" "5" "6" "6" "6" "5" "6" "5" "5" "5" "5" "6" "5" "5" "6" "6"
##  [562] "5" "5" "6" "6" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5"
##  [579] "5" "5" "5" "5" "5" "5" "6" "5" "6" "5" "5" "5" "5" "5" "6" "5" "5"
##  [596] "6" "5" "7" "5" "5" "6" "5" "5" "5" "5" "5" "7" "6" "5" "6" "6" "6"
##  [613] "6" "7" "5" "7" "5" "5" "6" "6" "5" "6" "6" "6" "6" "5" "5" "6" "6"
##  [630] "6" "5" "7" "5" "6" "5" "5" "5" "5" "5" "5" "6" "6" "6" "6" "6" "5"
##  [647] "6" "5" "5" "5" "5" "6" "6" "6" "6" "6" "5" "6" "7" "6" "5" "5" "7"
##  [664] "5" "5" "6" "6" "7" "6" "5" "6" "5" "5" "5" "7" "6" "4" "7" "6" "6"
##  [681] "6" "5" "6" "6" "6" "6" "5" "6" "7" "6" "6" "6" "5" "6" "6" "5" "6"
##  [698] "7" "6" "6" "6" "6" "5" "6" "7" "5" "5" "6" "6" "6" "6" "7" "6" "6"
##  [715] "5" "7" "6" "7" "6" "6" "7" "7" "6" "6" "6" "6" "6" "6" "6" "6" "6"
##  [732] "6" "6" "5" "5" "6" "6" "6" "6" "6" "5" "5" "6" "6" "6" "5" "6" "6"
##  [749] "5" "5" "6" "5" "5" "5" "5" "6" "6" "5" "7" "6" "6" "6" "7" "6" "5"
##  [766] "5" "5" "6" "6" "6" "6" "6" "6" "6" "5" "6" "6" "6" "5" "6" "6" "5"
##  [783] "5" "6" "6" "5" "7" "5" "6" "6" "6" "6" "6" "6" "6" "5" "6" "7" "5"
##  [800] "5" "7" "6" "6" "7" "6" "6" "6" "7" "6" "6" "6" "5" "5" "6" "5" "6"
##  [817] "7" "7" "6" "6" "7" "6" "5" "6" "6" "5" "6" "6" "6" "5" "6" "5" "7"
##  [834] "7" "6" "5" "6" "7" "5" "6" "6" "5" "6" "6" "6" "6" "6" "6" "6" "6"
##  [851] "6" "6" "6" "6" "6" "6" "5" "7" "5" "6" "5" "5" "6" "6" "6" "6" "6"
##  [868] "6" "7" "6" "5" "6" "6" "5" "6" "6" "6" "6" "5" "7" "6" "6" "6" "7"
##  [885] "5" "5" "6" "6" "6" "6" "6" "6" "6" "5" "6" "6" "6" "6" "6" "5" "6"
##  [902] "5" "7" "5" "5" "5" "7" "5" "5" "6" "6" "5" "6" "6" "5" "6" "6" "6"
##  [919] "6" "5" "6" "6" "6" "6" "6" "7" "7" "6" "5" "5" "7" "7" "6" "5" "6"
##  [936] "7" "5" "6" "5" "6" "5" "6" "5" "6" "5" "5" "6" "5" "5" "6" "6" "5"
##  [953] "6" "6" "5" "6" "5" "6" "6" "6" "5" "6" "7" "6" "6" "7" "5" "5" "6"
##  [970] "6" "6" "6" "6" "6" "6" "6" "6" "5" "6" "6" "5" "6" "5" "5" "6" "6"
##  [987] "7" "6" "5" "6" "5" "5" "5" "6" "5" "6" "6" "5" "6" "5" "5" "5" "6"
## [1004] "6" "6" "6" "5" "5" "5" "5" "5" "5" "6" "5" "5" "5" "5" "5" "5" "5"
## [1021] "6" "5" "5" "6" "5" "5" "5" "5" "6" "5" "5" "5" "7" "5" "6" "6" "6"
## [1038] "5" "5" "5" "5" "5" "5" "5" "5" "5" "6" "5" "5" "5" "5" "5" "5" "5"
## [1055] "7" "6" "5" "7" "7" "6" "5" "5" "7" "5" "5" "7" "5" "5" "5" "5" "6"
## [1072] "6" "6" "7" "6" "6" "6" "5" "5" "6" "5" "6" "5" "6" "6" "5" "5" "5"
## [1089] "5" "6" "6" "6" "6" "5" "6" "5" "5" "7" "5" "5" "5" "5" "5" "5" "6"
## [1106] "6" "5" "5" "5" "6" "6" "7" "6" "5" "6" "5" "6" "6" "5" "5" "6" "5"
## [1123] "6" "6" "6" "5" "5" "6" "6" "5" "5" "5" "5" "5" "5" "6" "6" "6" "5"
## [1140] "5" "5" "7" "6" "5" "6" "6" "6" "5" "5" "5" "6" "5" "6" "5" "6" "6"
## [1157] "6" "6" "6" "6" "6" "6" "6" "6" "5" "5" "5" "6" "6" "5" "6" "5" "5"
## [1174] "5" "5" "5" "6" "6" "5" "5" "6" "7" "6" "6" "6" "6" "6" "6" "6" "6"
## [1191] "5" "7" "7" "6" "7" "5" "6" "6" "5" "6" "6" "5"
## 
## $confusion
##                Observed Class
## Predicted Class   3   4   5   6   7   8
##               4   1   0   0   0   0   0
##               5   6  24 377 170  15   0
##               6   1  14 129 275  90  10
##               7   0   2   5  34  45   4
## 
## $error
## [1] 0.4201331
#clustering


library(cluster)
library(ggplot2)
library(dendextend)
## 
## ---------------------
## Welcome to dendextend version 1.4.0
## Type citation('dendextend') for how to cite the package.
## 
## Type browseVignettes(package = 'dendextend') for the package vignette.
## The github page is: https://github.com/talgalili/dendextend/
## 
## Suggestions and bug-reports can be submitted at: https://github.com/talgalili/dendextend/issues
## Or contact: <tal.galili@gmail.com>
## 
##  To suppress this message use:  suppressPackageStartupMessages(library(dendextend))
## ---------------------
## 
## Attaching package: 'dendextend'
## The following object is masked from 'package:rpart':
## 
##     prune
## The following object is masked from 'package:stats':
## 
##     cutree
library(Rcpp)
library(dplyr)

cluster <- read.csv( "winered.csv", header = TRUE , sep = ";" )

RwineDataSubset <- cluster[rowSums(is.na(cluster))<25,]
summary(RwineDataSubset)
##  fixed.acidity   volatile.acidity  citric.acid    residual.sugar  
##  Min.   : 4.60   Min.   :0.1200   Min.   :0.000   Min.   : 0.900  
##  1st Qu.: 7.10   1st Qu.:0.3900   1st Qu.:0.090   1st Qu.: 1.900  
##  Median : 7.90   Median :0.5200   Median :0.260   Median : 2.200  
##  Mean   : 8.32   Mean   :0.5278   Mean   :0.271   Mean   : 2.539  
##  3rd Qu.: 9.20   3rd Qu.:0.6400   3rd Qu.:0.420   3rd Qu.: 2.600  
##  Max.   :15.90   Max.   :1.5800   Max.   :1.000   Max.   :15.500  
##    chlorides       free.sulfur.dioxide total.sulfur.dioxide
##  Min.   :0.01200   Min.   : 1.00       Min.   :  6.00      
##  1st Qu.:0.07000   1st Qu.: 7.00       1st Qu.: 22.00      
##  Median :0.07900   Median :14.00       Median : 38.00      
##  Mean   :0.08747   Mean   :15.87       Mean   : 46.47      
##  3rd Qu.:0.09000   3rd Qu.:21.00       3rd Qu.: 62.00      
##  Max.   :0.61100   Max.   :72.00       Max.   :289.00      
##     density             pH          sulphates         alcohol     
##  Min.   :0.9901   Min.   :2.740   Min.   :0.3300   Min.   : 8.40  
##  1st Qu.:0.9956   1st Qu.:3.210   1st Qu.:0.5500   1st Qu.: 9.50  
##  Median :0.9968   Median :3.310   Median :0.6200   Median :10.20  
##  Mean   :0.9967   Mean   :3.311   Mean   :0.6581   Mean   :10.42  
##  3rd Qu.:0.9978   3rd Qu.:3.400   3rd Qu.:0.7300   3rd Qu.:11.10  
##  Max.   :1.0037   Max.   :4.010   Max.   :2.0000   Max.   :14.90  
##     quality     
##  Min.   :3.000  
##  1st Qu.:5.000  
##  Median :6.000  
##  Mean   :5.636  
##  3rd Qu.:6.000  
##  Max.   :8.000
str(RwineDataSubset)
## 'data.frame':    1599 obs. of  12 variables:
##  $ fixed.acidity       : num  7.4 7.8 7.8 11.2 7.4 7.4 7.9 7.3 7.8 7.5 ...
##  $ volatile.acidity    : num  0.7 0.88 0.76 0.28 0.7 0.66 0.6 0.65 0.58 0.5 ...
##  $ citric.acid         : num  0 0 0.04 0.56 0 0 0.06 0 0.02 0.36 ...
##  $ residual.sugar      : num  1.9 2.6 2.3 1.9 1.9 1.8 1.6 1.2 2 6.1 ...
##  $ chlorides           : num  0.076 0.098 0.092 0.075 0.076 0.075 0.069 0.065 0.073 0.071 ...
##  $ free.sulfur.dioxide : num  11 25 15 17 11 13 15 15 9 17 ...
##  $ total.sulfur.dioxide: num  34 67 54 60 34 40 59 21 18 102 ...
##  $ density             : num  0.998 0.997 0.997 0.998 0.998 ...
##  $ pH                  : num  3.51 3.2 3.26 3.16 3.51 3.51 3.3 3.39 3.36 3.35 ...
##  $ sulphates           : num  0.56 0.68 0.65 0.58 0.56 0.56 0.46 0.47 0.57 0.8 ...
##  $ alcohol             : num  9.4 9.8 9.8 9.8 9.4 9.4 9.4 10 9.5 10.5 ...
##  $ quality             : int  5 5 5 6 5 5 5 7 7 5 ...
RwineDataSubset[is.na(RwineDataSubset)] <- 0

ScaledProdData <- scale(RwineDataSubset)
ScaledProdData[is.na(ScaledProdData)] <- 0

## Loading required package: plotly
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:plyr':
## 
##     arrange, mutate, rename, summarise
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
## Loading required package: viridis
## 
## ---------------------
## Welcome to heatmaply version 0.7.0
## Type ?heatmaply for the main documentation.
## The github page is: https://github.com/talgalili/heatmaply/
## 
## Suggestions and bug-reports can be submitted at: https://github.com/talgalili/heatmaply/issues
## Or contact: <tal.galili@gmail.com>
## 
##  To suppress this message use:  suppressPackageStartupMessages(library(heatmaply))
## ---------------------
## 
## FALSE 
## 19188
## $All.index
##      3      4      5      6      7      8      9     10     11     12 
## 1.4583 1.5417 2.6785 1.7279 0.7501 1.3689 1.6231 3.0428 2.5016 0.8092 
##     13     14     15     16     17     18     19     20     21     22 
## 2.2554 1.6922 2.4279 2.1627 2.3223 1.7691 1.4733 1.3256 2.3381 1.5758 
##     23     24     25     26     27     28     29     30     31     32 
## 1.3349 1.7058 1.3951 2.4590 1.7770 1.7954 3.1312 1.7851 2.2489 1.5495 
##     33     34     35     36     37     38     39     40 
## 2.3108 3.1694 1.9085 4.0536 2.5618 2.7331 2.8524 1.8956 
## 
## $All.CriticalValues
##      3      4      5      6      7      8      9     10     11     12 
## 0.9001 0.8935 0.8628 0.8906 0.8905 0.8706 0.8647 0.8433 0.8439 0.8456 
##     13     14     15     16     17     18     19     20     21     22 
## 0.8168 0.8384 0.8059 0.8359 0.8022 0.8068 0.7854 0.7867 0.7993 0.7983 
##     23     24     25     26     27     28     29     30     31     32 
## 0.7993 0.7951 0.7983 0.7367 0.7813 0.7475 0.7085 0.6894 0.6995 0.7085 
##     33     34     35     36     37     38     39     40 
## 0.6575 0.6649 0.6894 0.6575 0.7367 0.6717 0.6410 0.6316 
## 
## $Best.nc
## Number_clusters     Value_Index 
##          3.0000          1.4583 
## 
## $Best.partition
##    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15 
##    1    2    1    3    1    1    1    1    1    2    1    2    1    2    2 
##   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30 
##    2    2    2    1    2    2    2    2    2    1    1    1    2    1    1 
##   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45 
##    1    1    2    2    1    1    1    3    1    2    2    2    3    1    1 
##   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60 
##    1    2    3    1    2    1    1    1    2    2    1    3    2    1    1 
##   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75 
##    2    2    1    1    1    1    1    1    2    1    1    2    2    1    2 
##   76   77   78   79   80   81   82   83   84   85   86   87   88   89   90 
##    3    3    1    1    2    1    2    2    2    1    1    2    1    2    1 
##   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105 
##    2    2    2    1    1    1    1    1    1    1    1    1    1    1    1 
##  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120 
##    1    2    1    2    2    2    2    2    3    2    3    1    1    1    1 
##  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135 
##    1    1    1    1    2    2    1    1    1    1    2    1    1    1    1 
##  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150 
##    2    1    1    2    2    2    1    1    1    1    2    1    2    1    3 
##  151  152  153  154  155  156  157  158  159  160  161  162  163  164  165 
##    3    2    2    2    2    2    2    2    1    1    1    1    1    2    2 
##  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180 
##    2    1    1    1    2    1    1    1    1    1    1    1    1    1    1 
##  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195 
##    1    2    1    1    1    2    2    1    2    2    2    1    2    1    1 
##  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210 
##    2    1    3    1    1    3    2    1    1    1    3    3    2    2    3 
##  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225 
##    3    1    3    2    1    2    1    1    1    2    2    2    1    1    2 
##  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240 
##    2    2    1    2    1    1    1    2    1    1    1    1    1    1    1 
##  241  242  243  244  245  246  247  248  249  250  251  252  253  254  255 
##    2    3    2    3    3    1    1    1    1    1    3    1    3    2    1 
##  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270 
##    2    3    1    2    3    1    1    1    2    3    3    2    3    1    3 
##  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285 
##    1    3    3    1    2    1    1    3    3    3    3    3    1    3    2 
##  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300 
##    2    3    2    1    2    1    3    3    1    3    3    2    1    1    1 
##  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315 
##    1    3    1    1    2    3    1    3    3    1    3    2    2    2    2 
##  316  317  318  319  320  321  322  323  324  325  326  327  328  329  330 
##    1    2    2    3    2    3    2    1    2    2    2    3    3    3    3 
##  331  332  333  334  335  336  337  338  339  340  341  342  343  344  345 
##    3    3    2    1    1    3    3    2    3    3    3    3    3    3    3 
##  346  347  348  349  350  351  352  353  354  355  356  357  358  359  360 
##    1    1    3    3    1    3    1    1    3    2    1    3    3    3    3 
##  361  362  363  364  365  366  367  368  369  370  371  372  373  374  375 
##    2    2    3    3    3    3    3    3    2    3    1    3    3    2    3 
##  376  377  378  379  380  381  382  383  384  385  386  387  388  389  390 
##    3    3    3    3    2    3    3    3    3    2    1    2    1    2    3 
##  391  392  393  394  395  396  397  398  399  400  401  402  403  404  405 
##    1    3    3    2    3    3    2    3    3    1    2    1    3    3    1 
##  406  407  408  409  410  411  412  413  414  415  416  417  418  419  420 
##    3    3    3    3    2    2    2    2    3    2    2    3    2    3    1 
##  421  422  423  424  425  426  427  428  429  430  431  432  433  434  435 
##    2    1    1    3    1    1    1    1    1    3    3    2    3    3    3 
##  436  437  438  439  440  441  442  443  444  445  446  447  448  449  450 
##    3    2    3    3    1    3    3    3    3    1    1    3    3    1    3 
##  451  452  453  454  455  456  457  458  459  460  461  462  463  464  465 
##    3    3    1    3    1    3    1    2    3    2    3    1    3    2    3 
##  466  467  468  469  470  471  472  473  474  475  476  477  478  479  480 
##    3    3    3    3    1    3    3    3    3    3    3    3    3    3    1 
##  481  482  483  484  485  486  487  488  489  490  491  492  493  494  495 
##    3    3    3    3    3    3    3    3    3    3    2    3    3    2    2 
##  496  497  498  499  500  501  502  503  504  505  506  507  508  509  510 
##    3    1    2    3    2    1    3    3    3    3    3    3    3    2    3 
##  511  512  513  514  515  516  517  518  519  520  521  522  523  524  525 
##    3    2    3    3    3    2    3    2    3    2    3    2    2    2    2 
##  526  527  528  529  530  531  532  533  534  535  536  537  538  539  540 
##    2    2    2    2    3    3    3    3    3    3    3    3    1    3    3 
##  541  542  543  544  545  546  547  548  549  550  551  552  553  554  555 
##    2    3    1    3    3    2    1    3    3    3    1    3    3    1    3 
##  556  557  558  559  560  561  562  563  564  565  566  567  568  569  570 
##    3    3    3    3    3    3    2    2    2    3    3    1    1    3    1 
##  571  572  573  574  575  576  577  578  579  580  581  582  583  584  585 
##    3    1    3    2    3    3    1    2    2    3    3    3    3    3    2 
##  586  587  588  589  590  591  592  593  594  595  596  597  598  599  600 
##    1    3    2    1    3    2    2    2    3    1    2    3    3    1    3 
##  601  602  603  604  605  606  607  608  609  610  611  612  613  614  615 
##    1    3    1    3    2    1    3    2    2    1    2    3    1    3    2 
##  616  617  618  619  620  621  622  623  624  625  626  627  628  629  630 
##    2    2    3    3    3    2    2    3    1    2    2    1    1    1    2 
##  631  632  633  634  635  636  637  638  639  640  641  642  643  644  645 
##    1    3    1    2    2    1    2    2    1    3    2    2    2    2    2 
##  646  647  648  649  650  651  652  653  654  655  656  657  658  659  660 
##    1    1    1    3    2    3    2    3    3    3    2    3    3    1    1 
##  661  662  663  664  665  666  667  668  669  670  671  672  673  674  675 
##    1    2    1    3    3    2    3    3    3    3    2    1    2    1    3 
##  676  677  678  679  680  681  682  683  684  685  686  687  688  689  690 
##    3    3    1    2    3    3    1    2    1    2    1    1    2    1    3 
##  691  692  693  694  695  696  697  698  699  700  701  702  703  704  705 
##    1    2    2    2    2    1    1    1    2    3    2    1    1    2    1 
##  706  707  708  709  710  711  712  713  714  715  716  717  718  719  720 
##    1    1    1    1    3    2    2    1    1    2    1    1    1    1    1 
##  721  722  723  724  725  726  727  728  729  730  731  732  733  734  735 
##    1    2    1    2    1    1    1    1    1    1    2    1    1    2    1 
##  736  737  738  739  740  741  742  743  744  745  746  747  748  749  750 
##    1    1    1    2    1    1    2    1    2    2    1    2    2    1    1 
##  751  752  753  754  755  756  757  758  759  760  761  762  763  764  765 
##    1    1    2    1    2    1    1    1    1    2    2    1    1    1    1 
##  766  767  768  769  770  771  772  773  774  775  776  777  778  779  780 
##    1    2    2    1    1    1    2    2    3    3    1    1    1    1    1 
##  781  782  783  784  785  786  787  788  789  790  791  792  793  794  795 
##    1    1    2    1    1    3    3    2    2    2    2    2    1    1    3 
##  796  797  798  799  800  801  802  803  804  805  806  807  808  809  810 
##    2    2    3    3    3    2    1    1    1    1    3    3    3    1    3 
##  811  812  813  814  815  816  817  818  819  820  821  822  823  824  825 
##    1    3    3    1    3    3    3    3    1    2    1    1    1    1    1 
##  826  827  828  829  830  831  832  833  834  835  836  837  838  839  840 
##    1    3    1    1    1    1    1    2    2    1    1    1    1    3    1 
##  841  842  843  844  845  846  847  848  849  850  851  852  853  854  855 
##    3    1    2    2    3    1    1    1    1    1    3    3    2    2    2 
##  856  857  858  859  860  861  862  863  864  865  866  867  868  869  870 
##    1    2    3    3    1    1    1    1    1    1    1    1    1    1    1 
##  871  872  873  874  875  876  877  878  879  880  881  882  883  884  885 
##    1    1    1    3    3    3    1    1    2    1    1    1    3    1    2 
##  886  887  888  889  890  891  892  893  894  895  896  897  898  899  900 
##    1    1    3    1    2    1    1    3    1    1    1    3    1    3    1 
##  901  902  903  904  905  906  907  908  909  910  911  912  913  914  915 
##    3    1    1    1    1    2    1    1    1    1    3    3    3    3    1 
##  916  917  918  919  920  921  922  923  924  925  926  927  928  929  930 
##    3    1    2    2    1    3    2    1    2    3    2    2    2    3    3 
##  931  932  933  934  935  936  937  938  939  940  941  942  943  944  945 
##    1    1    2    1    1    3    3    3    3    1    3    3    3    3    3 
##  946  947  948  949  950  951  952  953  954  955  956  957  958  959  960 
##    3    3    3    3    3    3    3    3    3    1    3    3    3    1    1 
##  961  962  963  964  965  966  967  968  969  970  971  972  973  974  975 
##    3    1    1    3    3    3    3    2    3    1    3    3    3    1    3 
##  976  977  978  979  980  981  982  983  984  985  986  987  988  989  990 
##    2    2    2    1    3    3    1    2    3    3    1    3    2    1    3 
##  991  992  993  994  995  996  997  998  999 1000 1001 1002 1003 1004 1005 
##    1    2    1    2    2    1    1    1    1    1    1    3    3    1    2 
## 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 
##    1    3    3    3    2    3    3    1    1    1    3    3    2    2    1 
## 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 
##    3    3    1    3    1    1    1    1    2    1    1    1    1    1    1 
## 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 
##    3    3    1    3    3    1    1    3    3    1    1    1    1    3    3 
## 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 
##    1    2    1    3    2    2    3    2    3    3    3    3    3    3    1 
## 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 
##    1    1    3    3    2    3    2    2    1    2    2    3    3    3    2 
## 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 
##    3    2    2    3    2    2    3    3    3    3    3    3    1    3    1 
## 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 
##    3    1    1    3    1    3    1    1    1    1    1    3    3    1    2 
## 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 
##    1    1    3    3    1    1    1    1    1    1    3    1    1    3    1 
## 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 
##    3    1    1    2    2    1    2    3    1    3    3    3    3    2    2 
## 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 
##    2    2    1    1    2    2    1    3    3    3    3    1    1    3    1 
## 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 
##    1    2    1    2    3    3    3    3    1    1    2    3    3    1    1 
## 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 
##    3    1    3    2    2    1    1    1    1    3    3    3    2    1    2 
## 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 
##    1    1    1    2    1    3    1    3    1    1    1    2    1    3    2 
## 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 
##    1    3    3    2    3    3    3    2    3    1    1    1    1    3    3 
## 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 
##    3    2    2    3    3    3    3    2    3    3    2    2    1    1    2 
## 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 
##    3    2    2    3    1    2    1    1    1    1    2    2    3    2    2 
## 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 
##    1    1    1    1    1    1    2    1    1    1    1    2    1    1    1 
## 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 
##    2    1    2    1    1    1    1    3    1    1    1    1    1    2    1 
## 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 
##    2    3    1    2    3    1    1    1    2    1    3    3    1    2    2 
## 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 
##    1    1    1    1    1    2    2    1    1    1    1    1    3    2    2 
## 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 
##    2    2    1    2    1    2    1    1    1    1    2    1    3    2    2 
## 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 
##    2    1    3    3    1    1    1    1    1    2    2    2    1    1    1 
## 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 
##    1    1    1    1    1    1    1    1    1    3    1    1    1    1    1 
## 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 
##    2    1    1    1    1    1    1    1    2    3    3    1    3    1    1 
## 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 
##    1    1    2    1    1    2    3    2    2    1    2    1    1    1    1 
## 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 
##    1    1    2    2    2    2    1    1    1    2    1    1    1    1    2 
## 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 
##    1    1    2    1    1    2    2    3    3    3    3    3    1    3    1 
## 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 
##    1    1    3    2    3    1    3    3    1    2    1    2    1    1    3 
## 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 
##    3    3    1    1    2    1    1    1    1    2    2    2    1    1    1 
## 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 
##    3    2    1    1    1    2    1    1    2    3    3    3    1    2    3 
## 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 
##    1    1    2    3    3    1    1    1    1    1    1    2    1    2    1 
## 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 
##    1    1    3    1    2    1    2    1    1    3    1    3    1    3    1 
## 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 
##    1    1    1    1    1    3    1    1    2    1    1    2    1    1    1 
## 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 
##    1    2    1    1    3    1    1    3    3    3    1    1    1    1    1 
## 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 
##    1    2    1    1    1    1    1    2    1    1    1    1    1    3    1 
## 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 
##    1    1    1    2    1    1    1    1    1    2    1    3    1    3    3 
## 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 
##    1    1    1    3    3    1    1    1    1    1    1    1    1    2    2 
## 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 
##    2    2    1    1    1    1    3    1    1    1    3    1    2    1    2 
## 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 
##    1    3    1    1    1    1    1    1    2    3    3    2    1    2    2 
## 1591 1592 1593 1594 1595 1596 1597 1598 1599 
##    1    1    1    1    1    1    1    1    1

## Loading required package: class