Executive Summary

Using devices such as Jawbone Up, Nike FuelBand, and Fitbit it is now possible to collect a large amount of data about personal activity relatively inexpensively. These type of devices are part of the quantified self movement - a group of enthusiasts who take measurements about themselves regularly to improve their health, to find patterns in their behavior, or because they are tech geeks. One thing that people regularly do is quantify how much of a particular activity they do, but they rarely quantify how well they do it. In this project, your goal will be to use data from accelerometers on the belt, forearm, arm, and dumbell of 6 participants. They were asked to perform barbell lifts correctly and incorrectly in 5 different ways. More information is available from the website here: http://groupware.les.inf.puc-rio.br/har (see the section on the Weight Lifting Exercise Dataset).

Data source

The data for this project come from the Human Activity Recognition study, conducted by Pontifícia Universidade Católica - Rio de Janeiro. Read more: http://groupware.les.inf.puc-rio.br/har.

Ugulino, W.; Cardador, D.; Vega, K.; Velloso, E.; Milidiu, R.; Fuks, H. Wearable Computing: Accelerometers’ Data Classification of Body Postures and Movements. Proceedings of 21st Brazilian Symposium on Artificial Intelligence. Advances in Artificial Intelligence - SBIA 2012. In: Lecture Notes in Computer Science. , pp. 52-61. Curitiba, PR: Springer Berlin / Heidelberg, 2012. ISBN 978-3-642-34458-9. DOI: 10.1007/978-3-642-34459-6_6.

The training data for this project are available here:

https://d396qusza40orc.cloudfront.net/predmachlearn/pml-training.csv

The test data are available here:

https://d396qusza40orc.cloudfront.net/predmachlearn/pml-testing.csv

Overview

This document contains two sections:

Analysis - where I provide the codes to download the cited training and testing datasets as well as clean them and also 3 machine learning algorithms - which regarding one different method of modeling.

Predicting Results - where I digress about what is the expected out of sample error and what model do I think is the best fit to predict the “classe” variable.

Analysis

Codes to load the libraries to be used:

library("caret")
## Loading required package: lattice
## Loading required package: ggplot2
library("gbm")
## Loading required package: survival
## 
## Attaching package: 'survival'
## The following object is masked from 'package:caret':
## 
##     cluster
## Loading required package: splines
## Loading required package: parallel
## Loaded gbm 2.1.1
library("rpart")
library("rpart.plot")
library("RColorBrewer")
library("rattle")
## Rattle: A free graphical interface for data mining with R.
## Version 4.1.0 Copyright (c) 2006-2015 Togaware Pty Ltd.
## Type 'rattle()' to shake, rattle, and roll your data.
library("randomForest")
## randomForest 4.6-12
## Type rfNews() to see new features/changes/bug fixes.
## 
## Attaching package: 'randomForest'
## The following object is masked from 'package:ggplot2':
## 
##     margin

Codes to download and read the train and test sets:

download.file("https://d396qusza40orc.cloudfront.net/predmachlearn/pml-training.csv", dest="pml-training.csv", mode="wb")
download.file("https://d396qusza40orc.cloudfront.net/predmachlearn/pml-testing.csv", dest="pml-testing.csv", mode="wb")

dataTrain <- read.csv("pml-training.csv")
dataTest <- read.csv("pml-testing.csv")
head(dataTrain)
##   X user_name raw_timestamp_part_1 raw_timestamp_part_2   cvtd_timestamp
## 1 1  carlitos           1323084231               788290 05/12/2011 11:23
## 2 2  carlitos           1323084231               808298 05/12/2011 11:23
## 3 3  carlitos           1323084231               820366 05/12/2011 11:23
## 4 4  carlitos           1323084232               120339 05/12/2011 11:23
## 5 5  carlitos           1323084232               196328 05/12/2011 11:23
## 6 6  carlitos           1323084232               304277 05/12/2011 11:23
##   new_window num_window roll_belt pitch_belt yaw_belt total_accel_belt
## 1         no         11      1.41       8.07    -94.4                3
## 2         no         11      1.41       8.07    -94.4                3
## 3         no         11      1.42       8.07    -94.4                3
## 4         no         12      1.48       8.05    -94.4                3
## 5         no         12      1.48       8.07    -94.4                3
## 6         no         12      1.45       8.06    -94.4                3
##   kurtosis_roll_belt kurtosis_picth_belt kurtosis_yaw_belt
## 1                                                         
## 2                                                         
## 3                                                         
## 4                                                         
## 5                                                         
## 6                                                         
##   skewness_roll_belt skewness_roll_belt.1 skewness_yaw_belt max_roll_belt
## 1                                                                      NA
## 2                                                                      NA
## 3                                                                      NA
## 4                                                                      NA
## 5                                                                      NA
## 6                                                                      NA
##   max_picth_belt max_yaw_belt min_roll_belt min_pitch_belt min_yaw_belt
## 1             NA                         NA             NA             
## 2             NA                         NA             NA             
## 3             NA                         NA             NA             
## 4             NA                         NA             NA             
## 5             NA                         NA             NA             
## 6             NA                         NA             NA             
##   amplitude_roll_belt amplitude_pitch_belt amplitude_yaw_belt
## 1                  NA                   NA                   
## 2                  NA                   NA                   
## 3                  NA                   NA                   
## 4                  NA                   NA                   
## 5                  NA                   NA                   
## 6                  NA                   NA                   
##   var_total_accel_belt avg_roll_belt stddev_roll_belt var_roll_belt
## 1                   NA            NA               NA            NA
## 2                   NA            NA               NA            NA
## 3                   NA            NA               NA            NA
## 4                   NA            NA               NA            NA
## 5                   NA            NA               NA            NA
## 6                   NA            NA               NA            NA
##   avg_pitch_belt stddev_pitch_belt var_pitch_belt avg_yaw_belt
## 1             NA                NA             NA           NA
## 2             NA                NA             NA           NA
## 3             NA                NA             NA           NA
## 4             NA                NA             NA           NA
## 5             NA                NA             NA           NA
## 6             NA                NA             NA           NA
##   stddev_yaw_belt var_yaw_belt gyros_belt_x gyros_belt_y gyros_belt_z
## 1              NA           NA         0.00         0.00        -0.02
## 2              NA           NA         0.02         0.00        -0.02
## 3              NA           NA         0.00         0.00        -0.02
## 4              NA           NA         0.02         0.00        -0.03
## 5              NA           NA         0.02         0.02        -0.02
## 6              NA           NA         0.02         0.00        -0.02
##   accel_belt_x accel_belt_y accel_belt_z magnet_belt_x magnet_belt_y
## 1          -21            4           22            -3           599
## 2          -22            4           22            -7           608
## 3          -20            5           23            -2           600
## 4          -22            3           21            -6           604
## 5          -21            2           24            -6           600
## 6          -21            4           21             0           603
##   magnet_belt_z roll_arm pitch_arm yaw_arm total_accel_arm var_accel_arm
## 1          -313     -128      22.5    -161              34            NA
## 2          -311     -128      22.5    -161              34            NA
## 3          -305     -128      22.5    -161              34            NA
## 4          -310     -128      22.1    -161              34            NA
## 5          -302     -128      22.1    -161              34            NA
## 6          -312     -128      22.0    -161              34            NA
##   avg_roll_arm stddev_roll_arm var_roll_arm avg_pitch_arm stddev_pitch_arm
## 1           NA              NA           NA            NA               NA
## 2           NA              NA           NA            NA               NA
## 3           NA              NA           NA            NA               NA
## 4           NA              NA           NA            NA               NA
## 5           NA              NA           NA            NA               NA
## 6           NA              NA           NA            NA               NA
##   var_pitch_arm avg_yaw_arm stddev_yaw_arm var_yaw_arm gyros_arm_x
## 1            NA          NA             NA          NA        0.00
## 2            NA          NA             NA          NA        0.02
## 3            NA          NA             NA          NA        0.02
## 4            NA          NA             NA          NA        0.02
## 5            NA          NA             NA          NA        0.00
## 6            NA          NA             NA          NA        0.02
##   gyros_arm_y gyros_arm_z accel_arm_x accel_arm_y accel_arm_z magnet_arm_x
## 1        0.00       -0.02        -288         109        -123         -368
## 2       -0.02       -0.02        -290         110        -125         -369
## 3       -0.02       -0.02        -289         110        -126         -368
## 4       -0.03        0.02        -289         111        -123         -372
## 5       -0.03        0.00        -289         111        -123         -374
## 6       -0.03        0.00        -289         111        -122         -369
##   magnet_arm_y magnet_arm_z kurtosis_roll_arm kurtosis_picth_arm
## 1          337          516                                     
## 2          337          513                                     
## 3          344          513                                     
## 4          344          512                                     
## 5          337          506                                     
## 6          342          513                                     
##   kurtosis_yaw_arm skewness_roll_arm skewness_pitch_arm skewness_yaw_arm
## 1                                                                       
## 2                                                                       
## 3                                                                       
## 4                                                                       
## 5                                                                       
## 6                                                                       
##   max_roll_arm max_picth_arm max_yaw_arm min_roll_arm min_pitch_arm
## 1           NA            NA          NA           NA            NA
## 2           NA            NA          NA           NA            NA
## 3           NA            NA          NA           NA            NA
## 4           NA            NA          NA           NA            NA
## 5           NA            NA          NA           NA            NA
## 6           NA            NA          NA           NA            NA
##   min_yaw_arm amplitude_roll_arm amplitude_pitch_arm amplitude_yaw_arm
## 1          NA                 NA                  NA                NA
## 2          NA                 NA                  NA                NA
## 3          NA                 NA                  NA                NA
## 4          NA                 NA                  NA                NA
## 5          NA                 NA                  NA                NA
## 6          NA                 NA                  NA                NA
##   roll_dumbbell pitch_dumbbell yaw_dumbbell kurtosis_roll_dumbbell
## 1      13.05217      -70.49400    -84.87394                       
## 2      13.13074      -70.63751    -84.71065                       
## 3      12.85075      -70.27812    -85.14078                       
## 4      13.43120      -70.39379    -84.87363                       
## 5      13.37872      -70.42856    -84.85306                       
## 6      13.38246      -70.81759    -84.46500                       
##   kurtosis_picth_dumbbell kurtosis_yaw_dumbbell skewness_roll_dumbbell
## 1                                                                     
## 2                                                                     
## 3                                                                     
## 4                                                                     
## 5                                                                     
## 6                                                                     
##   skewness_pitch_dumbbell skewness_yaw_dumbbell max_roll_dumbbell
## 1                                                              NA
## 2                                                              NA
## 3                                                              NA
## 4                                                              NA
## 5                                                              NA
## 6                                                              NA
##   max_picth_dumbbell max_yaw_dumbbell min_roll_dumbbell min_pitch_dumbbell
## 1                 NA                                 NA                 NA
## 2                 NA                                 NA                 NA
## 3                 NA                                 NA                 NA
## 4                 NA                                 NA                 NA
## 5                 NA                                 NA                 NA
## 6                 NA                                 NA                 NA
##   min_yaw_dumbbell amplitude_roll_dumbbell amplitude_pitch_dumbbell
## 1                                       NA                       NA
## 2                                       NA                       NA
## 3                                       NA                       NA
## 4                                       NA                       NA
## 5                                       NA                       NA
## 6                                       NA                       NA
##   amplitude_yaw_dumbbell total_accel_dumbbell var_accel_dumbbell
## 1                                          37                 NA
## 2                                          37                 NA
## 3                                          37                 NA
## 4                                          37                 NA
## 5                                          37                 NA
## 6                                          37                 NA
##   avg_roll_dumbbell stddev_roll_dumbbell var_roll_dumbbell
## 1                NA                   NA                NA
## 2                NA                   NA                NA
## 3                NA                   NA                NA
## 4                NA                   NA                NA
## 5                NA                   NA                NA
## 6                NA                   NA                NA
##   avg_pitch_dumbbell stddev_pitch_dumbbell var_pitch_dumbbell
## 1                 NA                    NA                 NA
## 2                 NA                    NA                 NA
## 3                 NA                    NA                 NA
## 4                 NA                    NA                 NA
## 5                 NA                    NA                 NA
## 6                 NA                    NA                 NA
##   avg_yaw_dumbbell stddev_yaw_dumbbell var_yaw_dumbbell gyros_dumbbell_x
## 1               NA                  NA               NA                0
## 2               NA                  NA               NA                0
## 3               NA                  NA               NA                0
## 4               NA                  NA               NA                0
## 5               NA                  NA               NA                0
## 6               NA                  NA               NA                0
##   gyros_dumbbell_y gyros_dumbbell_z accel_dumbbell_x accel_dumbbell_y
## 1            -0.02             0.00             -234               47
## 2            -0.02             0.00             -233               47
## 3            -0.02             0.00             -232               46
## 4            -0.02            -0.02             -232               48
## 5            -0.02             0.00             -233               48
## 6            -0.02             0.00             -234               48
##   accel_dumbbell_z magnet_dumbbell_x magnet_dumbbell_y magnet_dumbbell_z
## 1             -271              -559               293               -65
## 2             -269              -555               296               -64
## 3             -270              -561               298               -63
## 4             -269              -552               303               -60
## 5             -270              -554               292               -68
## 6             -269              -558               294               -66
##   roll_forearm pitch_forearm yaw_forearm kurtosis_roll_forearm
## 1         28.4         -63.9        -153                      
## 2         28.3         -63.9        -153                      
## 3         28.3         -63.9        -152                      
## 4         28.1         -63.9        -152                      
## 5         28.0         -63.9        -152                      
## 6         27.9         -63.9        -152                      
##   kurtosis_picth_forearm kurtosis_yaw_forearm skewness_roll_forearm
## 1                                                                  
## 2                                                                  
## 3                                                                  
## 4                                                                  
## 5                                                                  
## 6                                                                  
##   skewness_pitch_forearm skewness_yaw_forearm max_roll_forearm
## 1                                                           NA
## 2                                                           NA
## 3                                                           NA
## 4                                                           NA
## 5                                                           NA
## 6                                                           NA
##   max_picth_forearm max_yaw_forearm min_roll_forearm min_pitch_forearm
## 1                NA                               NA                NA
## 2                NA                               NA                NA
## 3                NA                               NA                NA
## 4                NA                               NA                NA
## 5                NA                               NA                NA
## 6                NA                               NA                NA
##   min_yaw_forearm amplitude_roll_forearm amplitude_pitch_forearm
## 1                                     NA                      NA
## 2                                     NA                      NA
## 3                                     NA                      NA
## 4                                     NA                      NA
## 5                                     NA                      NA
## 6                                     NA                      NA
##   amplitude_yaw_forearm total_accel_forearm var_accel_forearm
## 1                                        36                NA
## 2                                        36                NA
## 3                                        36                NA
## 4                                        36                NA
## 5                                        36                NA
## 6                                        36                NA
##   avg_roll_forearm stddev_roll_forearm var_roll_forearm avg_pitch_forearm
## 1               NA                  NA               NA                NA
## 2               NA                  NA               NA                NA
## 3               NA                  NA               NA                NA
## 4               NA                  NA               NA                NA
## 5               NA                  NA               NA                NA
## 6               NA                  NA               NA                NA
##   stddev_pitch_forearm var_pitch_forearm avg_yaw_forearm
## 1                   NA                NA              NA
## 2                   NA                NA              NA
## 3                   NA                NA              NA
## 4                   NA                NA              NA
## 5                   NA                NA              NA
## 6                   NA                NA              NA
##   stddev_yaw_forearm var_yaw_forearm gyros_forearm_x gyros_forearm_y
## 1                 NA              NA            0.03            0.00
## 2                 NA              NA            0.02            0.00
## 3                 NA              NA            0.03           -0.02
## 4                 NA              NA            0.02           -0.02
## 5                 NA              NA            0.02            0.00
## 6                 NA              NA            0.02           -0.02
##   gyros_forearm_z accel_forearm_x accel_forearm_y accel_forearm_z
## 1           -0.02             192             203            -215
## 2           -0.02             192             203            -216
## 3            0.00             196             204            -213
## 4            0.00             189             206            -214
## 5           -0.02             189             206            -214
## 6           -0.03             193             203            -215
##   magnet_forearm_x magnet_forearm_y magnet_forearm_z classe
## 1              -17              654              476      A
## 2              -18              661              473      A
## 3              -18              658              469      A
## 4              -16              658              469      A
## 5              -17              655              473      A
## 6               -9              660              478      A
head(dataTest)
##   X user_name raw_timestamp_part_1 raw_timestamp_part_2   cvtd_timestamp
## 1 1     pedro           1323095002               868349 05/12/2011 14:23
## 2 2    jeremy           1322673067               778725 30/11/2011 17:11
## 3 3    jeremy           1322673075               342967 30/11/2011 17:11
## 4 4    adelmo           1322832789               560311 02/12/2011 13:33
## 5 5    eurico           1322489635               814776 28/11/2011 14:13
## 6 6    jeremy           1322673149               510661 30/11/2011 17:12
##   new_window num_window roll_belt pitch_belt yaw_belt total_accel_belt
## 1         no         74    123.00      27.00    -4.75               20
## 2         no        431      1.02       4.87   -88.90                4
## 3         no        439      0.87       1.82   -88.50                5
## 4         no        194    125.00     -41.60   162.00               17
## 5         no        235      1.35       3.33   -88.60                3
## 6         no        504     -5.92       1.59   -87.70                4
##   kurtosis_roll_belt kurtosis_picth_belt kurtosis_yaw_belt
## 1                 NA                  NA                NA
## 2                 NA                  NA                NA
## 3                 NA                  NA                NA
## 4                 NA                  NA                NA
## 5                 NA                  NA                NA
## 6                 NA                  NA                NA
##   skewness_roll_belt skewness_roll_belt.1 skewness_yaw_belt max_roll_belt
## 1                 NA                   NA                NA            NA
## 2                 NA                   NA                NA            NA
## 3                 NA                   NA                NA            NA
## 4                 NA                   NA                NA            NA
## 5                 NA                   NA                NA            NA
## 6                 NA                   NA                NA            NA
##   max_picth_belt max_yaw_belt min_roll_belt min_pitch_belt min_yaw_belt
## 1             NA           NA            NA             NA           NA
## 2             NA           NA            NA             NA           NA
## 3             NA           NA            NA             NA           NA
## 4             NA           NA            NA             NA           NA
## 5             NA           NA            NA             NA           NA
## 6             NA           NA            NA             NA           NA
##   amplitude_roll_belt amplitude_pitch_belt amplitude_yaw_belt
## 1                  NA                   NA                 NA
## 2                  NA                   NA                 NA
## 3                  NA                   NA                 NA
## 4                  NA                   NA                 NA
## 5                  NA                   NA                 NA
## 6                  NA                   NA                 NA
##   var_total_accel_belt avg_roll_belt stddev_roll_belt var_roll_belt
## 1                   NA            NA               NA            NA
## 2                   NA            NA               NA            NA
## 3                   NA            NA               NA            NA
## 4                   NA            NA               NA            NA
## 5                   NA            NA               NA            NA
## 6                   NA            NA               NA            NA
##   avg_pitch_belt stddev_pitch_belt var_pitch_belt avg_yaw_belt
## 1             NA                NA             NA           NA
## 2             NA                NA             NA           NA
## 3             NA                NA             NA           NA
## 4             NA                NA             NA           NA
## 5             NA                NA             NA           NA
## 6             NA                NA             NA           NA
##   stddev_yaw_belt var_yaw_belt gyros_belt_x gyros_belt_y gyros_belt_z
## 1              NA           NA        -0.50        -0.02        -0.46
## 2              NA           NA        -0.06        -0.02        -0.07
## 3              NA           NA         0.05         0.02         0.03
## 4              NA           NA         0.11         0.11        -0.16
## 5              NA           NA         0.03         0.02         0.00
## 6              NA           NA         0.10         0.05        -0.13
##   accel_belt_x accel_belt_y accel_belt_z magnet_belt_x magnet_belt_y
## 1          -38           69         -179           -13           581
## 2          -13           11           39            43           636
## 3            1           -1           49            29           631
## 4           46           45         -156           169           608
## 5           -8            4           27            33           566
## 6          -11          -16           38            31           638
##   magnet_belt_z roll_arm pitch_arm yaw_arm total_accel_arm var_accel_arm
## 1          -382     40.7    -27.80     178              10            NA
## 2          -309      0.0      0.00       0              38            NA
## 3          -312      0.0      0.00       0              44            NA
## 4          -304   -109.0     55.00    -142              25            NA
## 5          -418     76.1      2.76     102              29            NA
## 6          -291      0.0      0.00       0              14            NA
##   avg_roll_arm stddev_roll_arm var_roll_arm avg_pitch_arm stddev_pitch_arm
## 1           NA              NA           NA            NA               NA
## 2           NA              NA           NA            NA               NA
## 3           NA              NA           NA            NA               NA
## 4           NA              NA           NA            NA               NA
## 5           NA              NA           NA            NA               NA
## 6           NA              NA           NA            NA               NA
##   var_pitch_arm avg_yaw_arm stddev_yaw_arm var_yaw_arm gyros_arm_x
## 1            NA          NA             NA          NA       -1.65
## 2            NA          NA             NA          NA       -1.17
## 3            NA          NA             NA          NA        2.10
## 4            NA          NA             NA          NA        0.22
## 5            NA          NA             NA          NA       -1.96
## 6            NA          NA             NA          NA        0.02
##   gyros_arm_y gyros_arm_z accel_arm_x accel_arm_y accel_arm_z magnet_arm_x
## 1        0.48       -0.18          16          38          93         -326
## 2        0.85       -0.43        -290         215         -90         -325
## 3       -1.36        1.13        -341         245         -87         -264
## 4       -0.51        0.92        -238         -57           6         -173
## 5        0.79       -0.54        -197         200         -30         -170
## 6        0.05       -0.07         -26         130         -19          396
##   magnet_arm_y magnet_arm_z kurtosis_roll_arm kurtosis_picth_arm
## 1          385          481                NA                 NA
## 2          447          434                NA                 NA
## 3          474          413                NA                 NA
## 4          257          633                NA                 NA
## 5          275          617                NA                 NA
## 6          176          516                NA                 NA
##   kurtosis_yaw_arm skewness_roll_arm skewness_pitch_arm skewness_yaw_arm
## 1               NA                NA                 NA               NA
## 2               NA                NA                 NA               NA
## 3               NA                NA                 NA               NA
## 4               NA                NA                 NA               NA
## 5               NA                NA                 NA               NA
## 6               NA                NA                 NA               NA
##   max_roll_arm max_picth_arm max_yaw_arm min_roll_arm min_pitch_arm
## 1           NA            NA          NA           NA            NA
## 2           NA            NA          NA           NA            NA
## 3           NA            NA          NA           NA            NA
## 4           NA            NA          NA           NA            NA
## 5           NA            NA          NA           NA            NA
## 6           NA            NA          NA           NA            NA
##   min_yaw_arm amplitude_roll_arm amplitude_pitch_arm amplitude_yaw_arm
## 1          NA                 NA                  NA                NA
## 2          NA                 NA                  NA                NA
## 3          NA                 NA                  NA                NA
## 4          NA                 NA                  NA                NA
## 5          NA                 NA                  NA                NA
## 6          NA                 NA                  NA                NA
##   roll_dumbbell pitch_dumbbell yaw_dumbbell kurtosis_roll_dumbbell
## 1     -17.73748       24.96085    126.23596                     NA
## 2      54.47761      -53.69758    -75.51480                     NA
## 3      57.07031      -51.37303    -75.20287                     NA
## 4      43.10927      -30.04885   -103.32003                     NA
## 5    -101.38396      -53.43952    -14.19542                     NA
## 6      62.18750      -50.55595    -71.12063                     NA
##   kurtosis_picth_dumbbell kurtosis_yaw_dumbbell skewness_roll_dumbbell
## 1                      NA                    NA                     NA
## 2                      NA                    NA                     NA
## 3                      NA                    NA                     NA
## 4                      NA                    NA                     NA
## 5                      NA                    NA                     NA
## 6                      NA                    NA                     NA
##   skewness_pitch_dumbbell skewness_yaw_dumbbell max_roll_dumbbell
## 1                      NA                    NA                NA
## 2                      NA                    NA                NA
## 3                      NA                    NA                NA
## 4                      NA                    NA                NA
## 5                      NA                    NA                NA
## 6                      NA                    NA                NA
##   max_picth_dumbbell max_yaw_dumbbell min_roll_dumbbell min_pitch_dumbbell
## 1                 NA               NA                NA                 NA
## 2                 NA               NA                NA                 NA
## 3                 NA               NA                NA                 NA
## 4                 NA               NA                NA                 NA
## 5                 NA               NA                NA                 NA
## 6                 NA               NA                NA                 NA
##   min_yaw_dumbbell amplitude_roll_dumbbell amplitude_pitch_dumbbell
## 1               NA                      NA                       NA
## 2               NA                      NA                       NA
## 3               NA                      NA                       NA
## 4               NA                      NA                       NA
## 5               NA                      NA                       NA
## 6               NA                      NA                       NA
##   amplitude_yaw_dumbbell total_accel_dumbbell var_accel_dumbbell
## 1                     NA                    9                 NA
## 2                     NA                   31                 NA
## 3                     NA                   29                 NA
## 4                     NA                   18                 NA
## 5                     NA                    4                 NA
## 6                     NA                   29                 NA
##   avg_roll_dumbbell stddev_roll_dumbbell var_roll_dumbbell
## 1                NA                   NA                NA
## 2                NA                   NA                NA
## 3                NA                   NA                NA
## 4                NA                   NA                NA
## 5                NA                   NA                NA
## 6                NA                   NA                NA
##   avg_pitch_dumbbell stddev_pitch_dumbbell var_pitch_dumbbell
## 1                 NA                    NA                 NA
## 2                 NA                    NA                 NA
## 3                 NA                    NA                 NA
## 4                 NA                    NA                 NA
## 5                 NA                    NA                 NA
## 6                 NA                    NA                 NA
##   avg_yaw_dumbbell stddev_yaw_dumbbell var_yaw_dumbbell gyros_dumbbell_x
## 1               NA                  NA               NA             0.64
## 2               NA                  NA               NA             0.34
## 3               NA                  NA               NA             0.39
## 4               NA                  NA               NA             0.10
## 5               NA                  NA               NA             0.29
## 6               NA                  NA               NA            -0.59
##   gyros_dumbbell_y gyros_dumbbell_z accel_dumbbell_x accel_dumbbell_y
## 1             0.06            -0.61               21              -15
## 2             0.05            -0.71             -153              155
## 3             0.14            -0.34             -141              155
## 4            -0.02             0.05              -51               72
## 5            -0.47            -0.46              -18              -30
## 6             0.80             1.10             -138              166
##   accel_dumbbell_z magnet_dumbbell_x magnet_dumbbell_y magnet_dumbbell_z
## 1               81               523              -528               -56
## 2             -205              -502               388               -36
## 3             -196              -506               349                41
## 4             -148              -576               238                53
## 5               -5              -424               252               312
## 6             -186              -543               262                96
##   roll_forearm pitch_forearm yaw_forearm kurtosis_roll_forearm
## 1          141         49.30       156.0                    NA
## 2          109        -17.60       106.0                    NA
## 3          131        -32.60        93.0                    NA
## 4            0          0.00         0.0                    NA
## 5         -176         -2.16       -47.9                    NA
## 6          150          1.46        89.7                    NA
##   kurtosis_picth_forearm kurtosis_yaw_forearm skewness_roll_forearm
## 1                     NA                   NA                    NA
## 2                     NA                   NA                    NA
## 3                     NA                   NA                    NA
## 4                     NA                   NA                    NA
## 5                     NA                   NA                    NA
## 6                     NA                   NA                    NA
##   skewness_pitch_forearm skewness_yaw_forearm max_roll_forearm
## 1                     NA                   NA               NA
## 2                     NA                   NA               NA
## 3                     NA                   NA               NA
## 4                     NA                   NA               NA
## 5                     NA                   NA               NA
## 6                     NA                   NA               NA
##   max_picth_forearm max_yaw_forearm min_roll_forearm min_pitch_forearm
## 1                NA              NA               NA                NA
## 2                NA              NA               NA                NA
## 3                NA              NA               NA                NA
## 4                NA              NA               NA                NA
## 5                NA              NA               NA                NA
## 6                NA              NA               NA                NA
##   min_yaw_forearm amplitude_roll_forearm amplitude_pitch_forearm
## 1              NA                     NA                      NA
## 2              NA                     NA                      NA
## 3              NA                     NA                      NA
## 4              NA                     NA                      NA
## 5              NA                     NA                      NA
## 6              NA                     NA                      NA
##   amplitude_yaw_forearm total_accel_forearm var_accel_forearm
## 1                    NA                  33                NA
## 2                    NA                  39                NA
## 3                    NA                  34                NA
## 4                    NA                  43                NA
## 5                    NA                  24                NA
## 6                    NA                  43                NA
##   avg_roll_forearm stddev_roll_forearm var_roll_forearm avg_pitch_forearm
## 1               NA                  NA               NA                NA
## 2               NA                  NA               NA                NA
## 3               NA                  NA               NA                NA
## 4               NA                  NA               NA                NA
## 5               NA                  NA               NA                NA
## 6               NA                  NA               NA                NA
##   stddev_pitch_forearm var_pitch_forearm avg_yaw_forearm
## 1                   NA                NA              NA
## 2                   NA                NA              NA
## 3                   NA                NA              NA
## 4                   NA                NA              NA
## 5                   NA                NA              NA
## 6                   NA                NA              NA
##   stddev_yaw_forearm var_yaw_forearm gyros_forearm_x gyros_forearm_y
## 1                 NA              NA            0.74           -3.34
## 2                 NA              NA            1.12           -2.78
## 3                 NA              NA            0.18           -0.79
## 4                 NA              NA            1.38            0.69
## 5                 NA              NA           -0.75            3.10
## 6                 NA              NA           -0.88            4.26
##   gyros_forearm_z accel_forearm_x accel_forearm_y accel_forearm_z
## 1           -0.59            -110             267            -149
## 2           -0.18             212             297            -118
## 3            0.28             154             271            -129
## 4            1.80             -92             406             -39
## 5            0.80             131             -93             172
## 6            1.35             230             322            -144
##   magnet_forearm_x magnet_forearm_y magnet_forearm_z problem_id
## 1             -714              419              617          1
## 2             -237              791              873          2
## 3              -51              698              783          3
## 4             -233              783              521          4
## 5              375             -787               91          5
## 6             -300              800              884          6

As we can see above, there’s some NA data in both datasets. I intend to proceed a cleaning of the dataset, but first I will partion the training set into two and check possibles Near Zero Variance Variables (it’s a necessity regarding the subject dataset, which has a great amount of Not Available datas, which I will refer as NA, and zero values).

Codes to partioning the training dataset into two: 70% for training and 30% for testing. I set seed to 13563 for reproducibility purposes.

set.seed(13563)
inTrain <- createDataPartition(y=dataTrain$classe, p=0.7, list=FALSE)
training <- dataTrain[inTrain, ]
testing <- dataTrain[-inTrain, ]
dim(training)
## [1] 13737   160
dim(testing)
## [1] 5885  160

Code to cheack possibles Near Zero Variance Variables:

NZV_check <- nearZeroVar(training, saveMetrics = TRUE)
NZV_check
##                            freqRatio percentUnique zeroVar   nzv
## X                           1.000000  100.00000000   FALSE FALSE
## user_name                   1.104042    0.04367766   FALSE FALSE
## raw_timestamp_part_1        1.034483    6.09303341   FALSE FALSE
## raw_timestamp_part_2        1.000000   89.24073670   FALSE FALSE
## cvtd_timestamp              1.001914    0.14559220   FALSE FALSE
## new_window                 49.135036    0.01455922   FALSE  TRUE
## num_window                  1.034483    6.23134600   FALSE FALSE
## roll_belt                   1.077532    8.05124845   FALSE FALSE
## pitch_belt                  1.029412   12.16422800   FALSE FALSE
## yaw_belt                    1.064972   13.12513649   FALSE FALSE
## total_accel_belt            1.048561    0.20382907   FALSE FALSE
## kurtosis_roll_belt       1923.285714    1.95093543   FALSE  TRUE
## kurtosis_picth_belt       498.629630    1.58695494   FALSE  TRUE
## kurtosis_yaw_belt          49.135036    0.01455922   FALSE  TRUE
## skewness_roll_belt       2243.833333    1.93637621   FALSE  TRUE
## skewness_roll_belt.1      498.629630    1.68886948   FALSE  TRUE
## skewness_yaw_belt          49.135036    0.01455922   FALSE  TRUE
## max_roll_belt               1.125000    1.15017835   FALSE FALSE
## max_picth_belt              1.731707    0.15287181   FALSE FALSE
## max_yaw_belt              673.150000    0.41493776   FALSE  TRUE
## min_roll_belt               1.375000    1.10650069   FALSE FALSE
## min_pitch_belt              2.102564    0.10919415   FALSE FALSE
## min_yaw_belt              673.150000    0.41493776   FALSE  TRUE
## amplitude_roll_belt         1.120000    0.78619786   FALSE FALSE
## amplitude_pitch_belt        3.106383    0.09463493   FALSE FALSE
## amplitude_yaw_belt         51.385496    0.02911844   FALSE  TRUE
## var_total_accel_belt        1.344828    0.32758244   FALSE FALSE
## avg_roll_belt               1.000000    1.01186576   FALSE FALSE
## stddev_roll_belt            1.081081    0.36398049   FALSE FALSE
## var_roll_belt               1.692308    0.46589503   FALSE FALSE
## avg_pitch_belt              1.333333    1.20113562   FALSE FALSE
## stddev_pitch_belt           1.139535    0.24022712   FALSE FALSE
## var_pitch_belt              1.200000    0.32758244   FALSE FALSE
## avg_yaw_belt                1.142857    1.31032977   FALSE FALSE
## stddev_yaw_belt             2.032258    0.32030283   FALSE FALSE
## var_yaw_belt                1.108108    0.76435903   FALSE FALSE
## gyros_belt_x                1.036269    0.92451045   FALSE FALSE
## gyros_belt_y                1.119946    0.48773386   FALSE FALSE
## gyros_belt_z                1.100083    1.19385601   FALSE FALSE
## accel_belt_x                1.044964    1.17929679   FALSE FALSE
## accel_belt_y                1.102683    0.99002693   FALSE FALSE
## accel_belt_z                1.046549    2.06740919   FALSE FALSE
## magnet_belt_x               1.048980    2.21300138   FALSE FALSE
## magnet_belt_y               1.085714    2.10380724   FALSE FALSE
## magnet_belt_z               1.021084    3.18846910   FALSE FALSE
## roll_arm                   48.081633   17.34003057   FALSE FALSE
## pitch_arm                  84.178571   20.23731528   FALSE FALSE
## yaw_arm                    33.657143   19.13809420   FALSE FALSE
## total_accel_arm             1.006144    0.48045425   FALSE FALSE
## var_accel_arm               5.500000    1.91453738   FALSE FALSE
## avg_roll_arm               47.000000    1.65975104   FALSE  TRUE
## stddev_roll_arm            47.000000    1.65975104   FALSE  TRUE
## var_roll_arm               47.000000    1.65975104   FALSE  TRUE
## avg_pitch_arm              47.000000    1.65975104   FALSE  TRUE
## stddev_pitch_arm           47.000000    1.65975104   FALSE  TRUE
## var_pitch_arm              47.000000    1.65975104   FALSE  TRUE
## avg_yaw_arm                47.000000    1.65975104   FALSE  TRUE
## stddev_yaw_arm             50.000000    1.63791221   FALSE  TRUE
## var_yaw_arm                50.000000    1.63791221   FALSE  TRUE
## gyros_arm_x                 1.036517    4.59343379   FALSE FALSE
## gyros_arm_y                 1.430137    2.69345563   FALSE FALSE
## gyros_arm_z                 1.110193    1.71070831   FALSE FALSE
## accel_arm_x                 1.076923    5.53978307   FALSE FALSE
## accel_arm_y                 1.140940    3.81451554   FALSE FALSE
## accel_arm_z                 1.081395    5.58346073   FALSE FALSE
## magnet_arm_x                1.000000    9.60180534   FALSE FALSE
## magnet_arm_y                1.062500    6.18038873   FALSE FALSE
## magnet_arm_z                1.135135    9.10679188   FALSE FALSE
## kurtosis_roll_arm         280.479167    1.65975104   FALSE  TRUE
## kurtosis_picth_arm        269.260000    1.64519182   FALSE  TRUE
## kurtosis_yaw_arm         1223.909091    1.92181699   FALSE  TRUE
## skewness_roll_arm         286.446809    1.66703065   FALSE  TRUE
## skewness_pitch_arm        269.260000    1.64519182   FALSE  TRUE
## skewness_yaw_arm         1223.909091    1.91453738   FALSE  TRUE
## max_roll_arm               15.666667    1.52871806   FALSE FALSE
## max_picth_arm              11.750000    1.35400743   FALSE FALSE
## max_yaw_arm                 1.411765    0.35670088   FALSE FALSE
## min_roll_arm               15.666667    1.51415884   FALSE FALSE
## min_pitch_arm              15.666667    1.50687923   FALSE FALSE
## min_yaw_arm                 1.000000    0.26934556   FALSE FALSE
## amplitude_roll_arm         15.666667    1.55783650   FALSE FALSE
## amplitude_pitch_arm        16.666667    1.51415884   FALSE FALSE
## amplitude_yaw_arm           1.105263    0.36398049   FALSE FALSE
## roll_dumbbell               1.032609   86.61279755   FALSE FALSE
## pitch_dumbbell              2.260870   84.22508554   FALSE FALSE
## yaw_dumbbell                1.057471   85.85571813   FALSE FALSE
## kurtosis_roll_dumbbell   4487.666667    1.96549465   FALSE  TRUE
## kurtosis_picth_dumbbell  6731.500000    1.98733348   FALSE  TRUE
## kurtosis_yaw_dumbbell      49.135036    0.01455922   FALSE  TRUE
## skewness_roll_dumbbell   6731.500000    1.99461309   FALSE  TRUE
## skewness_pitch_dumbbell  6731.500000    1.99461309   FALSE  TRUE
## skewness_yaw_dumbbell      49.135036    0.01455922   FALSE  TRUE
## max_roll_dumbbell           1.000000    1.72526753   FALSE FALSE
## max_picth_dumbbell          1.500000    1.74710636   FALSE FALSE
## max_yaw_dumbbell          897.533333    0.48773386   FALSE  TRUE
## min_roll_dumbbell           1.000000    1.72526753   FALSE FALSE
## min_pitch_dumbbell          1.000000    1.84174128   FALSE FALSE
## min_yaw_dumbbell          897.533333    0.48773386   FALSE  TRUE
## amplitude_roll_dumbbell     5.000000    1.91453738   FALSE FALSE
## amplitude_pitch_dumbbell    5.000000    1.88541894   FALSE FALSE
## amplitude_yaw_dumbbell     49.678967    0.02183883   FALSE  TRUE
## total_accel_dumbbell        1.040000    0.31302322   FALSE FALSE
## var_accel_dumbbell          3.666667    1.88541894   FALSE FALSE
## avg_roll_dumbbell           1.000000    1.96549465   FALSE FALSE
## stddev_roll_dumbbell       10.000000    1.92909660   FALSE FALSE
## var_roll_dumbbell          10.000000    1.92909660   FALSE FALSE
## avg_pitch_dumbbell          1.000000    1.96549465   FALSE FALSE
## stddev_pitch_dumbbell      10.000000    1.92909660   FALSE FALSE
## var_pitch_dumbbell         10.000000    1.92909660   FALSE FALSE
## avg_yaw_dumbbell            1.000000    1.96549465   FALSE FALSE
## stddev_yaw_dumbbell        10.000000    1.92909660   FALSE FALSE
## var_yaw_dumbbell           10.000000    1.92909660   FALSE FALSE
## gyros_dumbbell_x            1.006977    1.68158987   FALSE FALSE
## gyros_dumbbell_y            1.248792    1.95093543   FALSE FALSE
## gyros_dumbbell_z            1.136919    1.40496469   FALSE FALSE
## accel_dumbbell_x            1.025532    2.98464002   FALSE FALSE
## accel_dumbbell_y            1.028090    3.32678168   FALSE FALSE
## accel_dumbbell_z            1.110465    2.89000510   FALSE FALSE
## magnet_dumbbell_x           1.105691    7.78918250   FALSE FALSE
## magnet_dumbbell_y           1.091603    6.00567810   FALSE FALSE
## magnet_dumbbell_z           1.000000    4.82638131   FALSE FALSE
## roll_forearm               12.782407   13.59831113   FALSE FALSE
## pitch_forearm              69.000000   19.18177186   FALSE FALSE
## yaw_forearm                16.134503   12.83395210   FALSE FALSE
## kurtosis_roll_forearm     224.383333    1.55783650   FALSE  TRUE
## kurtosis_picth_forearm    224.383333    1.57239572   FALSE  TRUE
## kurtosis_yaw_forearm       49.135036    0.01455922   FALSE  TRUE
## skewness_roll_forearm     228.186441    1.56511611   FALSE  TRUE
## skewness_pitch_forearm    224.383333    1.55055689   FALSE  TRUE
## skewness_yaw_forearm       49.135036    0.01455922   FALSE  TRUE
## max_roll_forearm           19.666667    1.39040547   FALSE  TRUE
## max_picth_forearm           2.565217    0.85171435   FALSE FALSE
## max_yaw_forearm           224.383333    0.25478634   FALSE  TRUE
## min_roll_forearm           29.500000    1.38312586   FALSE  TRUE
## min_pitch_forearm           2.809524    0.93179006   FALSE FALSE
## min_yaw_forearm           224.383333    0.25478634   FALSE  TRUE
## amplitude_roll_forearm     19.666667    1.46320157   FALSE  TRUE
## amplitude_pitch_forearm     3.333333    0.95362889   FALSE FALSE
## amplitude_yaw_forearm      62.911215    0.02183883   FALSE  TRUE
## total_accel_forearm         1.148276    0.48773386   FALSE FALSE
## var_accel_forearm           6.000000    1.95821504   FALSE FALSE
## avg_roll_forearm           29.500000    1.56511611   FALSE  TRUE
## stddev_roll_forearm        62.000000    1.55055689   FALSE  TRUE
## var_roll_forearm           62.000000    1.55055689   FALSE  TRUE
## avg_pitch_forearm          59.000000    1.57239572   FALSE  TRUE
## stddev_pitch_forearm       29.500000    1.56511611   FALSE  TRUE
## var_pitch_forearm          59.000000    1.57239572   FALSE  TRUE
## avg_yaw_forearm            59.000000    1.57239572   FALSE  TRUE
## stddev_yaw_forearm         60.000000    1.56511611   FALSE  TRUE
## var_yaw_forearm            60.000000    1.56511611   FALSE  TRUE
## gyros_forearm_x             1.016043    2.06012958   FALSE FALSE
## gyros_forearm_y             1.062963    5.23403946   FALSE FALSE
## gyros_forearm_z             1.172205    2.16204411   FALSE FALSE
## accel_forearm_x             1.114754    5.68537526   FALSE FALSE
## accel_forearm_y             1.128571    7.11217879   FALSE FALSE
## accel_forearm_z             1.140000    4.03290384   FALSE FALSE
## magnet_forearm_x            1.019608   10.62823033   FALSE FALSE
## magnet_forearm_y            1.344262   13.21977142   FALSE FALSE
## magnet_forearm_z            1.113636   11.72017180   FALSE FALSE
## classe                      1.469526    0.03639805   FALSE FALSE

Codes to reset both training and testing sets without NZV:

training <- training[, NZV_check$nzv==FALSE]
dim(training)
## [1] 13737   105
NZV_check2 <- nearZeroVar(testing, saveMetrics = TRUE)
testing <- testing[, NZV_check2$nzv==FALSE]
dim(testing)
## [1] 5885  108

Theres a second transformation worth doing, which is removing the ID variable (the first column) so that it won’t interfer with Machine Learning Algorithms:

training <- training[c(-1)]
testing <- testing[c(-1)]

I decided to clean the variables with more than 60% NAs.The threshold was chosen based at the 60% method, which I considered the most appropriate Training Threshold method for this particular dataset.

I also think worth to explain what’s going on: first, I will create a temporary subset to iterate in loop, then I will check for NA in every column in the dataset, select the columns under the 60% method and remove them.For closers, I will set it back to the proper dataset and remove the temp dataset. As you will see the code involved is plain logical reasoning.

Cleaning the training dataset:

temp_train <- training
for (i in 1:length(training)) {
  if(sum(is.na(training[, i]))/nrow(training)>=0.6) {
    for (j in 1:length(temp_train)) {
      if(length(grep(names(training[i]), names(temp_train)[j]))==1){
        temp_train <- temp_train[, -j]
      }
    }
  }
}
dim(temp_train)  
## [1] 13737    58
training <- temp_train
rm(temp_train)

Cleaning the testing dataset:

temp_test <- testing
for (i in 1:length(testing)) {
  if(sum(is.na(testing[, i]))/nrow(testing)>=0.6) {
    for (j in 1:length(temp_test)) {
      if(length(grep(names(testing[i]), names(temp_test)[j]))==1){
        temp_test <- temp_test[, -j]
      }
    }
  }
}
dim(temp_test)  
## [1] 5885   58
testing <- temp_test
rm(temp_test)

I chose to build 3 models. One model, using a random forest (“rf”) algorithm, the other, using a decision trees algorithm and a third, using a boosted trees algorithm - also known as generalized boosted regression (“gbm”).

Then, I intend to cross validate it predicting the outcomes and checking the accuracy of each model at the testing set.

Codes to build the models:

Random Forest Algorithm

set.seed(13563)
modelFitRF <- randomForest(classe~., data = training)

Cross validating the model:

predictFitRF <- predict(modelFitRF, testing, type = "class")

To check the accuracy:

accuracy_FitRF <- confusionMatrix(predictFitRF, testing$classe)
accuracy_FitRF
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction    A    B    C    D    E
##          A 1674    3    0    0    0
##          B    0 1136    0    0    0
##          C    0    0 1026    5    0
##          D    0    0    0  958    1
##          E    0    0    0    1 1081
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9983          
##                  95% CI : (0.9969, 0.9992)
##     No Information Rate : 0.2845          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.9979          
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: A Class: B Class: C Class: D Class: E
## Sensitivity            1.0000   0.9974   1.0000   0.9938   0.9991
## Specificity            0.9993   1.0000   0.9990   0.9998   0.9998
## Pos Pred Value         0.9982   1.0000   0.9952   0.9990   0.9991
## Neg Pred Value         1.0000   0.9994   1.0000   0.9988   0.9998
## Prevalence             0.2845   0.1935   0.1743   0.1638   0.1839
## Detection Rate         0.2845   0.1930   0.1743   0.1628   0.1837
## Detection Prevalence   0.2850   0.1930   0.1752   0.1630   0.1839
## Balanced Accuracy      0.9996   0.9987   0.9995   0.9968   0.9994

The accuracy of the Random Forest model is 0.9983, a very good one. To facilitate the visualization, I intend to plot it.

plot(modelFitRF, main = "Random Forest Algorithm")

plot(accuracy_FitRF$table, col = accuracy_FitRF$byClass, main = paste("Random Forest Algorithm Accuracy =", round(accuracy_FitRF$overall['Accuracy'], 4)))

Decision Tree Algorithm

set.seed(13563)
modelFitDT <- rpart(classe ~., data = training, method = "class")
fancyRpartPlot(modelFitDT)

Cross validating the model:

predictFitDT <- predict(modelFitDT, testing, type = "class")

To check the accuracy:

accuracy_FitDT <- confusionMatrix(predictFitDT, testing$classe)  
accuracy_FitDT
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction    A    B    C    D    E
##          A 1611   45    7    1    0
##          B   45  964   53   47    0
##          C   18  124  936  103   48
##          D    0    6   17  667   74
##          E    0    0   13  146  960
## 
## Overall Statistics
##                                           
##                Accuracy : 0.8731          
##                  95% CI : (0.8643, 0.8815)
##     No Information Rate : 0.2845          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.8394          
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: A Class: B Class: C Class: D Class: E
## Sensitivity            0.9624   0.8464   0.9123   0.6919   0.8872
## Specificity            0.9874   0.9694   0.9397   0.9803   0.9669
## Pos Pred Value         0.9681   0.8693   0.7616   0.8730   0.8579
## Neg Pred Value         0.9851   0.9634   0.9807   0.9420   0.9744
## Prevalence             0.2845   0.1935   0.1743   0.1638   0.1839
## Detection Rate         0.2737   0.1638   0.1590   0.1133   0.1631
## Detection Prevalence   0.2828   0.1884   0.2088   0.1298   0.1901
## Balanced Accuracy      0.9749   0.9079   0.9260   0.8361   0.9271

The model accuracy rate is 0.8731. Not a bad one, but less than Random Forest’s. Again, in order to facilitate the visualization, a plot is needed.

plot(accuracy_FitDT$table, col = accuracy_FitDT$byClass, main = paste("Decision Tree Algorithm Accuracy =", round(accuracy_FitDT$overall['Accuracy'], 4)))

Boosted Trees Algorithm

To load the library needed and set seed to reproducibility.

library(plyr)
set.seed(13563)

I usually don’t use the trainControl function from the caret package because one of its uses is allow to perform a variety of cross validation. As the Confusion Matrix and the predict function allow us to do the same, I usually don’t see the point to trainControl the model. However, in this case the model took too long to fit and almost “hijacked” my computer memory, so I used it to cut it short.

FitControlGBM <- trainControl(method = "repeatedcv", number = 5, repeats = 1)

modelFitGBM <- train(classe~., data = training, method = "gbm", trControl = FitControlGBM, verbose = FALSE)

FinalmodelFitGBM <- modelFitGBM$finalModel

Cross validating the model:

predictFitGBM <- predict(modelFitGBM, newdata = testing)

To check the accuracy:

accuracy_FitGBM <- confusionMatrix(predictFitGBM, testing$classe)
accuracy_FitGBM
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction    A    B    C    D    E
##          A 1674    3    0    0    0
##          B    0 1133    0    0    0
##          C    0    2 1022    7    0
##          D    0    1    4  955    1
##          E    0    0    0    2 1081
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9966          
##                  95% CI : (0.9948, 0.9979)
##     No Information Rate : 0.2845          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.9957          
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: A Class: B Class: C Class: D Class: E
## Sensitivity            1.0000   0.9947   0.9961   0.9907   0.9991
## Specificity            0.9993   1.0000   0.9981   0.9988   0.9996
## Pos Pred Value         0.9982   1.0000   0.9913   0.9938   0.9982
## Neg Pred Value         1.0000   0.9987   0.9992   0.9982   0.9998
## Prevalence             0.2845   0.1935   0.1743   0.1638   0.1839
## Detection Rate         0.2845   0.1925   0.1737   0.1623   0.1837
## Detection Prevalence   0.2850   0.1925   0.1752   0.1633   0.1840
## Balanced Accuracy      0.9996   0.9974   0.9971   0.9947   0.9993

The accuracy of the model is rated at 0.9966. Although, comparing to Random Forest’s 0.9983 it’s not the best model. Once again, a plot to facilitate the visualization.

plot(modelFitGBM, ylim = c(0.9, 1))

Predicting Results

Random Forests gave an accuracy of 99.89%, this means that this model is more accurate than the Decision Trees or GBM models.

The expected out-of-sample error is 0.11% (100-99.89).

Code to proceed the prediction:

prediction_results <- predict(modelFitRF, testing, type = "class")
prediction_results
##     5    10    12    13    15    21    22    23    30    36    48    51 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##    57    59    63    65    67    69    72    83    85    89    92    93 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##    96    97   102   105   107   109   112   114   116   117   118   119 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   120   124   130   133   134   138   139   141   142   144   146   152 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   156   157   163   165   167   169   174   176   179   188   196   197 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   198   203   205   210   211   212   213   214   217   220   223   224 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   225   227   229   230   231   232   235   238   241   243   249   252 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   253   266   273   277   281   282   284   291   292   298   300   306 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   311   312   315   317   318   324   326   330   331   332   333   337 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   339   345   348   352   356   358   360   361   364   366   372   376 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   377   378   389   390   394   397   398   404   405   407   411   413 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   414   416   417   420   426   428   430   438   439   449   454   456 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   457   466   467   469   471   477   484   486   490   491   499   500 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   501   504   505   506   516   517   519   520   530   533   535   543 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   546   552   559   560   566   567   569   570   572   578   580   581 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   583   591   598   601   605   607   608   609   611   617   618   620 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   623   626   629   631   636   638   639   640   641   644   645   648 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   662   664   666   670   671   673   674   681   682   687   688   691 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   697   698   700   712   719   721   724   725   727   730   733   734 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   735   736   739   740   744   748   750   754   755   763   769   772 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   774   775   776   777   778   779   781   788   791   792   797   799 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   800   817   818   819   823   826   840   845   846   848   850   851 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   855   856   861   862   864   868   871   875   882   885   886   890 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   894   895   897   898   899   906   909   910   911   919   921   925 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   929   936   939   945   948   955   960   961   966   968   970   972 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##   977   979   982   983   984   987   988   989   996   997  1001  1003 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1007  1014  1017  1021  1025  1035  1036  1037  1041  1044  1046  1047 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1048  1049  1052  1053  1056  1057  1060  1065  1067  1069  1070  1072 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1078  1084  1086  1087  1088  1092  1094  1097  1098  1099  1107  1115 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1120  1127  1131  1132  1133  1142  1146  1153  1155  1161  1166  1168 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1170  1173  1178  1179  1180  1186  1188  1190  1191  1192  1194  1199 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1208  1210  1211  1212  1227  1230  1234  1236  1237  1239  1242  1243 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1244  1246  1247  1248  1262  1268  1270  1271  1275  1276  1280  1281 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1282  1283  1285  1286  1287  1288  1295  1298  1299  1301  1303  1309 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1311  1315  1316  1324  1325  1328  1331  1332  1335  1339  1343  1347 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1349  1363  1366  1369  1370  1372  1373  1377  1378  1380  1382  1383 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1392  1393  1403  1404  1405  1407  1408  1410  1411  1416  1419  1422 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1424  1427  1430  1432  1434  1436  1438  1441  1442  1443  1450  1453 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1459  1460  1467  1469  1470  1471  1476  1483  1484  1488  1489  1491 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1492  1493  1494  1495  1502  1503  1508  1509  1512  1519  1521  1522 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1527  1530  1536  1540  1543  1544  1545  1546  1548  1556  1558  1560 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1561  1566  1567  1569  1572  1578  1588  1595  1602  1603  1605  1611 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1612  1618  1620  1621  1623  1624  1627  1633  1635  1639  1642  1645 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1648  1649  1652  1656  1662  1665  1667  1677  1684  1690  1696  1705 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1706  1707  1708  1712  1713  1714  1715  1717  1718  1721  1722  1726 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1728  1731  1732  1736  1741  1743  1748  1751  1752  1753  1757  1758 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1759  1760  1768  1774  1776  1780  1781  1786  1788  1789  1790  1791 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1792  1796  1799  1800  1801  1806  1808  1809  1816  1817  1818  1819 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1821  1826  1832  1841  1843  1846  1849  1851  1852  1860  1862  1863 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1864  1865  1870  1871  1874  1879  1880  1884  1889  1890  1891  1893 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1899  1900  1905  1909  1912  1914  1915  1917  1923  1928  1930  1931 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1934  1944  1954  1956  1960  1963  1965  1966  1972  1976  1978  1979 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  1982  1988  1989  1992  1993  1998  1999  2000  2007  2013  2015  2019 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2022  2023  2024  2030  2035  2037  2038  2039  2044  2049  2051  2053 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2054  2055  2058  2070  2074  2075  2077  2080  2083  2084  2086  2087 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2088  2094  2095  2106  2108  2114  2115  2116  2117  2118  2122  2127 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2128  2129  2132  2137  2141  2146  2151  2152  2153  2156  2163  2164 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2165  2170  2177  2178  2179  2182  2183  2187  2193  2195  2201  2206 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2212  2215  2216  2218  2225  2226  2228  2231  2232  2235  2243  2245 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2249  2263  2267  2269  2278  2280  2281  2282  2286  2287  2289  2291 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2298  2301  2302  2304  2308  2314  2315  2317  2319  2320  2322  2334 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2337  2341  2343  2345  2347  2349  2351  2352  2354  2355  2358  2368 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2371  2373  2374  2378  2380  2381  2384  2388  2389  2394  2404  2409 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2410  2417  2419  2420  2421  2425  2428  2429  2430  2434  2436  2442 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2447  2448  2450  2454  2471  2473  2474  2475  2478  2490  2491  2500 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2501  2502  2505  2508  2516  2519  2520  2522  2533  2538  2541  2542 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2543  2545  2548  2551  2553  2556  2557  2558  2562  2563  2565  2566 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2567  2568  2581  2582  2584  2585  2586  2588  2593  2596  2597  2600 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2601  2605  2606  2608  2610  2612  2613  2617  2620  2622  2623  2636 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2637  2643  2646  2651  2653  2656  2661  2662  2666  2667  2669  2676 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2679  2682  2688  2690  2691  2693  2694  2701  2704  2706  2707  2709 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2713  2721  2724  2725  2727  2728  2734  2738  2740  2751  2752  2761 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2766  2769  2774  2775  2777  2779  2782  2792  2795  2801  2809  2811 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2812  2813  2816  2817  2823  2825  2829  2830  2832  2833  2843  2844 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2846  2849  2850  2858  2859  2862  2865  2867  2874  2876  2877  2881 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2884  2888  2892  2895  2901  2903  2909  2914  2915  2920  2921  2923 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2925  2926  2927  2936  2941  2942  2943  2951  2953  2961  2962  2964 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  2965  2966  2979  2986  2987  2989  2991  2992  2993  3002  3003  3004 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3012  3017  3023  3025  3026  3028  3029  3035  3037  3040  3041  3042 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3047  3048  3050  3052  3055  3061  3064  3073  3079  3080  3081  3082 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3083  3086  3088  3094  3097  3099  3102  3103  3107  3108  3110  3119 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3122  3123  3131  3132  3134  3137  3138  3143  3144  3148  3153  3154 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3155  3158  3162  3169  3180  3184  3187  3192  3194  3195  3207  3210 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3211  3215  3224  3228  3231  3236  3238  3240  3241  3243  3244  3252 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3253  3263  3265  3269  3270  3272  3273  3274  3276  3278  3280  3283 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3288  3292  3293  3296  3300  3303  3306  3310  3313  3319  3320  3323 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3324  3325  3327  3328  3330  3332  3334  3337  3338  3339  3340  3341 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3343  3346  3348  3349  3351  3352  3362  3375  3376  3377  3382  3383 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3387  3391  3397  3400  3403  3405  3406  3408  3409  3410  3413  3417 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3424  3425  3429  3431  3433  3438  3445  3450  3453  3464  3468  3471 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3473  3474  3476  3484  3489  3492  3493  3497  3498  3500  3506  3514 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3520  3527  3529  3531  3532  3539  3540  3544  3554  3557  3558  3561 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3562  3565  3568  3575  3576  3579  3585  3588  3591  3592  3593  3595 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3597  3598  3600  3602  3606  3610  3614  3615  3616  3621  3624  3627 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3628  3633  3637  3638  3644  3645  3650  3653  3656  3657  3660  3667 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3669  3670  3672  3673  3674  3676  3677  3678  3679  3682  3685  3686 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3687  3688  3690  3692  3693  3697  3698  3699  3701  3704  3705  3712 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3716  3718  3721  3722  3738  3743  3745  3748  3749  3753  3759  3760 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3761  3766  3767  3769  3770  3774  3781  3782  3791  3794  3796  3798 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3804  3807  3818  3819  3823  3826  3828  3830  3837  3838  3839  3840 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3845  3846  3854  3865  3868  3871  3873  3877  3881  3889  3892  3893 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3897  3898  3899  3901  3915  3923  3928  3929  3930  3931  3934  3940 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3942  3945  3947  3949  3950  3952  3955  3962  3965  3968  3974  3976 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  3984  3987  3988  3989  3996  4000  4004  4014  4021  4024  4027  4028 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4030  4034  4042  4043  4051  4053  4057  4060  4070  4077  4078  4080 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4082  4083  4093  4097  4098  4106  4114  4115  4116  4122  4125  4130 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4142  4143  4145  4147  4148  4149  4151  4154  4157  4162  4163  4170 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4177  4181  4184  4186  4190  4192  4203  4206  4212  4213  4218  4223 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4227  4234  4239  4240  4244  4251  4259  4263  4264  4265  4267  4268 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4270  4272  4273  4282  4285  4289  4301  4308  4319  4320  4325  4330 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4333  4336  4337  4339  4343  4344  4347  4354  4356  4357  4359  4362 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4366  4368  4372  4373  4384  4386  4391  4393  4394  4397  4400  4404 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4405  4407  4411  4412  4418  4422  4423  4429  4435  4436  4437  4438 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4443  4444  4445  4448  4449  4450  4453  4454  4455  4458  4460  4461 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4462  4470  4474  4475  4480  4482  4484  4487  4488  4492  4494  4496 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4499  4509  4512  4514  4520  4522  4524  4525  4532  4534  4549  4550 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4553  4555  4558  4560  4562  4565  4566  4582  4593  4594  4597  4599 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4602  4604  4606  4607  4608  4610  4615  4618  4621  4623  4625  4627 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4628  4629  4630  4633  4635  4640  4641  4643  4647  4649  4650  4651 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4655  4656  4662  4663  4664  4671  4681  4686  4690  4691  4694  4695 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4709  4711  4712  4713  4716  4717  4727  4737  4740  4742  4744  4756 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4758  4764  4767  4771  4782  4790  4791  4799  4803  4804  4805  4806 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4812  4817  4820  4823  4829  4831  4835  4836  4840  4845  4847  4850 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4856  4857  4861  4862  4869  4874  4880  4883  4885  4905  4910  4911 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4914  4922  4926  4928  4929  4932  4935  4943  4957  4958  4961  4970 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  4977  4978  4988  4990  4991  4993  4997  4999  5002  5004  5005  5010 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5011  5015  5019  5026  5027  5028  5029  5030  5033  5036  5039  5041 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5046  5049  5051  5055  5057  5065  5070  5072  5074  5075  5076  5082 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5083  5084  5088  5094  5095  5102  5114  5115  5116  5118  5123  5129 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5130  5131  5134  5143  5147  5148  5151  5157  5168  5170  5171  5179 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5183  5184  5188  5189  5197  5200  5202  5210  5212  5213  5220  5224 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5227  5229  5233  5239  5242  5245  5248  5250  5252  5253  5254  5255 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5256  5257  5259  5266  5267  5269  5270  5271  5274  5277  5283  5286 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5288  5291  5292  5298  5303  5304  5306  5311  5316  5319  5322  5325 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5327  5328  5332  5333  5355  5358  5360  5363  5367  5377  5382  5386 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5388  5389  5391  5399  5402  5403  5404  5412  5413  5414  5421  5422 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5427  5429  5431  5436  5438  5442  5444  5446  5451  5455  5458  5461 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5465  5468  5469  5472  5478  5481  5483  5486  5490  5499  5501  5505 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5514  5519  5520  5525  5531  5532  5535  5537  5543  5545  5550  5552 
##     A     A     A     A     A     A     A     A     A     A     A     A 
##  5554  5562  5567  5571  5572  5578  5584  5585  5586  5588  5596  5599 
##     A     A     A     A     A     A     B     B     B     B     B     B 
##  5600  5601  5605  5611  5612  5614  5615  5617  5618  5619  5620  5624 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5626  5629  5630  5631  5634  5637  5638  5640  5650  5652  5655  5656 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5657  5662  5663  5664  5669  5671  5672  5682  5684  5686  5687  5691 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5696  5699  5701  5711  5712  5714  5715  5717  5719  5721  5726  5728 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5729  5735  5737  5742  5743  5744  5746  5747  5748  5752  5753  5760 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5764  5765  5773  5781  5782  5787  5789  5804  5805  5810  5814  5819 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5822  5825  5826  5830  5831  5834  5835  5836  5840  5843  5845  5847 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5852  5853  5854  5857  5858  5859  5860  5862  5865  5868  5869  5870 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5871  5873  5874  5876  5880  5887  5889  5890  5891  5897  5902  5903 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5905  5911  5914  5920  5921  5925  5930  5933  5934  5935  5945  5953 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5954  5957  5959  5965  5966  5967  5969  5972  5975  5976  5981  5989 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  5990  5994  5997  6000  6001  6005  6006  6009  6014  6018  6022  6031 
##     B     B     B     B     B     B     B     B     B     B     A     B 
##  6035  6036  6038  6039  6054  6057  6059  6064  6065  6071  6079  6080 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6082  6084  6086  6087  6093  6107  6110  6113  6123  6125  6128  6129 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6133  6138  6140  6141  6143  6145  6146  6149  6151  6152  6156  6158 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6161  6165  6167  6168  6171  6173  6175  6177  6182  6185  6192  6193 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6194  6196  6197  6199  6201  6205  6206  6209  6210  6211  6213  6217 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6228  6230  6232  6245  6247  6251  6254  6261  6267  6272  6278  6279 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6286  6292  6293  6297  6299  6302  6304  6308  6309  6312  6321  6329 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6332  6333  6336  6339  6348  6354  6355  6359  6361  6365  6366  6368 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6370  6375  6379  6381  6384  6389  6393  6396  6400  6401  6410  6411 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6421  6429  6432  6437  6439  6440  6441  6447  6452  6454  6455  6457 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6464  6465  6468  6470  6473  6474  6475  6480  6482  6486  6492  6494 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6497  6498  6499  6500  6501  6503  6504  6506  6507  6509  6512  6523 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6526  6532  6537  6541  6542  6548  6550  6552  6555  6559  6560  6565 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6567  6574  6577  6578  6579  6582  6583  6591  6600  6606  6615  6616 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6618  6624  6630  6632  6633  6635  6638  6639  6646  6648  6657  6663 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6665  6667  6671  6675  6685  6686  6687  6689  6692  6696  6698  6701 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6707  6712  6718  6724  6727  6731  6735  6739  6741  6746  6747  6750 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6751  6754  6755  6756  6759  6760  6767  6769  6773  6776  6780  6781 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6784  6786  6789  6792  6793  6794  6797  6803  6805  6807  6813  6815 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6819  6820  6823  6826  6828  6830  6835  6837  6846  6847  6848  6849 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6855  6856  6860  6861  6862  6863  6866  6868  6873  6878  6883  6887 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6889  6899  6901  6905  6907  6908  6913  6914  6919  6920  6928  6933 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6935  6936  6938  6940  6943  6950  6951  6953  6954  6957  6961  6962 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  6968  6969  6970  6971  6976  6980  6982  6988  6991  6995  6996  6998 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7000  7007  7010  7013  7014  7018  7019  7021  7022  7028  7029  7031 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7033  7048  7049  7051  7056  7061  7063  7064  7065  7066  7069  7076 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7077  7078  7079  7082  7087  7088  7095  7103  7113  7115  7118  7119 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7120  7122  7123  7126  7127  7129  7133  7135  7137  7138  7139  7142 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7145  7147  7152  7155  7156  7162  7165  7167  7171  7172  7174  7178 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7179  7180  7181  7183  7186  7188  7190  7199  7201  7205  7208  7215 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7219  7220  7223  7224  7225  7241  7243  7246  7247  7248  7255  7259 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7260  7263  7264  7267  7268  7272  7274  7276  7277  7278  7280  7284 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7289  7290  7291  7292  7294  7295  7297  7298  7299  7300  7302  7304 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7307  7309  7312  7313  7317  7319  7320  7323  7335  7337  7338  7341 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7345  7351  7352  7353  7355  7361  7364  7368  7370  7371  7375  7378 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7382  7383  7384  7394  7395  7396  7400  7407  7408  7411  7416  7417 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7423  7425  7431  7433  7436  7441  7442  7445  7450  7451  7457  7458 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7460  7468  7474  7477  7488  7490  7492  7496  7502  7507  7508  7509 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7516  7520  7525  7526  7532  7538  7541  7543  7544  7547  7549  7552 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7553  7557  7559  7561  7565  7567  7569  7573  7578  7591  7592  7597 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7598  7600  7604  7608  7611  7618  7624  7627  7629  7632  7633  7636 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7638  7641  7644  7649  7651  7652  7655  7658  7661  7664  7666  7667 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7671  7674  7677  7682  7692  7693  7697  7699  7702  7703  7704  7705 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7708  7712  7713  7726  7729  7731  7735  7736  7738  7739  7741  7742 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7744  7745  7746  7747  7753  7755  7764  7771  7772  7777  7789  7791 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7802  7804  7805  7808  7809  7813  7815  7821  7823  7827  7830  7836 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7838  7846  7847  7852  7853  7855  7857  7858  7862  7864  7865  7872 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7873  7874  7875  7878  7879  7886  7887  7898  7903  7904  7907  7912 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7918  7919  7921  7922  7925  7930  7932  7935  7936  7938  7943  7952 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7960  7961  7962  7963  7967  7973  7978  7979  7981  7982  7991  7995 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  7997  7998  7999  8002  8005  8017  8018  8019  8020  8022  8024  8030 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8039  8053  8059  8062  8066  8070  8071  8079  8081  8082  8087  8089 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8090  8091  8097  8100  8102  8103  8106  8107  8122  8124  8133  8134 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8137  8141  8142  8145  8147  8149  8159  8161  8162  8163  8169  8174 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8175  8176  8177  8179  8181  8182  8184  8186  8187  8190  8196  8198 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8201  8203  8213  8214  8215  8217  8219  8223  8227  8232  8239  8240 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8244  8248  8250  8251  8253  8260  8261  8272  8286  8288  8291  8292 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8294  8299  8302  8306  8307  8309  8310  8311  8312  8316  8317  8318 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8320  8322  8330  8331  8347  8349  8350  8352  8355  8361  8363  8380 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8383  8389  8399  8407  8411  8412  8413  8420  8440  8446  8455  8459 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8461  8462  8464  8465  8468  8473  8477  8478  8482  8483  8489  8491 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8498  8501  8504  8506  8508  8509  8510  8512  8513  8514  8522  8523 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8531  8533  8535  8538  8539  8540  8542  8544  8550  8552  8555  8559 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8560  8561  8566  8568  8576  8577  8578  8580  8581  8583  8586  8587 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8588  8590  8601  8603  8609  8612  8615  8619  8620  8622  8624  8627 
##     B     B     B     B     B     B     B     A     A     B     B     B 
##  8632  8641  8643  8646  8649  8655  8660  8662  8663  8664  8671  8672 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8677  8679  8683  8684  8688  8706  8719  8721  8723  8724  8727  8732 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8737  8738  8740  8745  8749  8750  8758  8763  8764  8767  8772  8774 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8776  8777  8781  8782  8783  8788  8790  8794  8797  8804  8809  8810 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8817  8818  8820  8821  8822  8827  8829  8832  8837  8838  8848  8850 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8851  8852  8860  8862  8865  8867  8868  8873  8875  8879  8882  8888 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8890  8895  8898  8903  8909  8919  8922  8927  8928  8934  8936  8937 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8939  8942  8943  8948  8953  8957  8958  8972  8976  8978  8985  8992 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  8993  8994  8996  9004  9016  9018  9019  9022  9030  9031  9040  9041 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  9042  9044  9055  9057  9058  9059  9060  9063  9064  9065  9068  9069 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  9072  9073  9080  9082  9083  9084  9088  9089  9090  9099  9106  9117 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  9118  9122  9123  9125  9127  9129  9130  9131  9132  9133  9135  9138 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  9143  9145  9152  9153  9158  9162  9163  9178  9180  9185  9187  9191 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  9198  9200  9207  9210  9212  9213  9229  9231  9239  9240  9242  9243 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  9246  9247  9251  9252  9256  9262  9264  9272  9279  9281  9283  9287 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  9289  9296  9297  9303  9305  9306  9308  9316  9318  9319  9321  9327 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  9328  9329  9330  9332  9334  9342  9346  9352  9353  9355  9357  9358 
##     B     B     B     B     B     B     B     B     B     B     B     B 
##  9359  9364  9369  9371  9373  9379  9387  9388  9394  9395  9402  9408 
##     B     B     B     B     B     C     C     C     C     C     C     C 
##  9414  9429  9430  9434  9435  9446  9447  9452  9457  9462  9469  9470 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9471  9473  9475  9481  9485  9487  9490  9492  9495  9499  9502  9503 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9508  9510  9511  9518  9521  9527  9530  9531  9537  9539  9543  9561 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9564  9566  9570  9576  9583  9585  9588  9591  9592  9600  9603  9605 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9607  9608  9611  9614  9615  9616  9618  9620  9624  9625  9628  9633 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9635  9637  9642  9644  9645  9646  9655  9660  9665  9666  9673  9676 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9677  9681  9682  9684  9685  9689  9690  9691  9692  9693  9694  9702 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9707  9708  9712  9714  9717  9718  9721  9734  9743  9745  9749  9750 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9751  9752  9757  9759  9770  9778  9783  9784  9786  9789  9796  9797 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9798  9802  9805  9810  9811  9812  9814  9816  9818  9819  9824  9825 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9827  9829  9833  9835  9840  9841  9843  9844  9845  9849  9852  9861 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9863  9868  9874  9879  9883  9885  9888  9889  9898  9901  9908  9910 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9913  9924  9926  9929  9930  9931  9932  9934  9935  9938  9942  9944 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9945  9946  9954  9956  9957  9959  9963  9966  9969  9970  9971  9972 
##     C     C     C     C     C     C     C     C     C     C     C     C 
##  9976  9982  9983  9984  9985  9986  9988  9990  9994 10002 10009 10013 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10016 10022 10026 10027 10034 10036 10039 10046 10047 10051 10053 10054 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10055 10062 10064 10067 10069 10071 10072 10074 10076 10078 10080 10082 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10083 10086 10089 10091 10092 10094 10095 10096 10097 10098 10102 10105 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10108 10114 10115 10120 10121 10123 10124 10131 10140 10141 10143 10144 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10145 10149 10151 10153 10156 10157 10160 10164 10165 10169 10177 10180 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10182 10183 10185 10187 10197 10199 10203 10210 10211 10212 10221 10224 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10226 10228 10229 10230 10231 10232 10234 10236 10238 10244 10246 10249 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10253 10258 10262 10267 10270 10274 10276 10281 10282 10283 10284 10285 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10287 10296 10298 10300 10301 10302 10303 10305 10308 10309 10312 10313 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10316 10317 10323 10324 10326 10327 10329 10332 10335 10340 10346 10349 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10350 10352 10358 10363 10364 10368 10372 10376 10379 10385 10388 10391 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10399 10401 10403 10404 10410 10413 10414 10415 10417 10418 10420 10421 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10422 10424 10426 10427 10428 10432 10443 10447 10449 10455 10463 10468 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10471 10478 10479 10480 10484 10485 10486 10488 10489 10491 10495 10497 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10525 10531 10533 10536 10541 10543 10544 10548 10549 10550 10555 10556 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10572 10577 10578 10581 10583 10584 10586 10587 10588 10590 10592 10597 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10599 10604 10606 10608 10611 10614 10627 10633 10634 10636 10638 10639 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10641 10642 10647 10657 10659 10664 10669 10672 10675 10676 10677 10682 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10687 10693 10703 10708 10710 10713 10722 10726 10727 10730 10731 10732 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10741 10744 10745 10747 10748 10751 10754 10760 10761 10762 10763 10764 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10766 10769 10776 10779 10783 10789 10793 10795 10797 10803 10805 10808 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10809 10810 10817 10821 10826 10831 10832 10834 10847 10848 10849 10855 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10857 10859 10860 10868 10869 10874 10875 10877 10883 10885 10886 10888 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10890 10893 10897 10900 10901 10906 10908 10910 10911 10916 10917 10922 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10938 10939 10946 10947 10953 10958 10960 10962 10966 10967 10969 10970 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10972 10974 10976 10977 10979 10980 10981 10984 10986 10988 10991 10992 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 10993 11003 11005 11013 11015 11016 11019 11025 11031 11037 11039 11042 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11043 11046 11047 11048 11051 11053 11054 11057 11064 11065 11069 11072 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11073 11074 11076 11088 11092 11102 11105 11106 11107 11113 11115 11126 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11128 11130 11132 11133 11137 11138 11142 11145 11157 11158 11170 11175 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11180 11182 11183 11187 11188 11195 11196 11199 11203 11205 11210 11211 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11213 11216 11217 11221 11223 11228 11242 11249 11254 11257 11258 11260 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11261 11268 11269 11271 11273 11274 11280 11281 11283 11284 11290 11293 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11295 11296 11298 11299 11301 11307 11309 11310 11314 11315 11316 11320 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11324 11325 11328 11333 11335 11342 11344 11347 11348 11352 11360 11362 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11363 11371 11372 11375 11379 11385 11386 11387 11396 11397 11398 11410 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11414 11416 11419 11426 11432 11440 11441 11447 11449 11453 11454 11460 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11464 11467 11479 11481 11484 11487 11493 11504 11505 11506 11507 11512 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11513 11514 11515 11518 11520 11521 11522 11528 11540 11543 11544 11547 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11552 11553 11555 11556 11557 11561 11563 11569 11570 11572 11576 11577 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11580 11583 11584 11591 11605 11606 11615 11619 11621 11623 11628 11639 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11649 11663 11671 11673 11675 11678 11679 11689 11690 11697 11699 11706 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11711 11722 11728 11729 11740 11742 11745 11747 11748 11750 11752 11755 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11757 11759 11762 11764 11765 11769 11770 11771 11772 11774 11775 11778 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11780 11782 11783 11784 11790 11792 11793 11796 11797 11800 11803 11812 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11817 11825 11829 11838 11841 11847 11849 11850 11854 11855 11856 11857 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11863 11864 11865 11871 11878 11886 11889 11894 11898 11900 11904 11907 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11910 11911 11917 11922 11936 11940 11951 11956 11958 11961 11966 11970 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11972 11973 11977 11978 11980 11982 11985 11986 11988 11990 11992 11993 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 11998 11999 12002 12003 12005 12006 12008 12009 12012 12014 12017 12018 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12024 12042 12043 12049 12050 12054 12055 12056 12058 12065 12067 12070 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12071 12073 12074 12076 12077 12080 12084 12085 12089 12090 12091 12096 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12097 12100 12101 12106 12108 12110 12116 12117 12122 12130 12135 12137 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12139 12150 12151 12155 12157 12159 12160 12165 12167 12168 12171 12172 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12176 12178 12179 12184 12186 12192 12194 12196 12198 12200 12201 12202 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12203 12204 12206 12208 12210 12219 12221 12222 12226 12227 12228 12235 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12236 12239 12241 12246 12248 12249 12253 12255 12256 12259 12264 12265 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12271 12275 12276 12278 12280 12282 12286 12289 12290 12298 12315 12317 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12319 12320 12322 12324 12325 12334 12335 12337 12341 12348 12350 12351 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12352 12353 12355 12359 12361 12367 12373 12378 12379 12380 12384 12387 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12388 12395 12396 12399 12405 12410 12413 12416 12421 12423 12426 12428 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12429 12433 12437 12438 12446 12447 12449 12457 12459 12462 12465 12466 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12479 12480 12481 12482 12486 12491 12492 12496 12501 12502 12512 12513 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12515 12517 12521 12523 12525 12527 12528 12533 12534 12537 12538 12549 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12553 12559 12562 12576 12585 12587 12588 12590 12595 12598 12603 12604 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12608 12610 12611 12612 12620 12623 12625 12627 12635 12636 12638 12643 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12651 12660 12661 12662 12663 12668 12670 12676 12682 12684 12685 12689 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12691 12697 12698 12700 12702 12707 12708 12712 12713 12715 12716 12720 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12732 12733 12734 12739 12741 12748 12752 12754 12756 12757 12758 12760 
##     C     C     C     C     C     C     C     C     C     C     C     C 
## 12763 12768 12769 12775 12777 12787 12788 12790 12793 12796 12799 12801 
##     C     C     C     C     C     C     C     C     C     C     C     D 
## 12806 12808 12812 12814 12818 12820 12821 12825 12829 12835 12837 12841 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 12847 12848 12853 12855 12860 12868 12869 12871 12872 12874 12877 12880 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 12882 12887 12888 12893 12894 12895 12898 12910 12925 12927 12929 12931 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 12933 12934 12935 12942 12943 12946 12949 12957 12958 12961 12962 12967 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 12968 12969 12971 12973 12974 12979 12983 12985 12987 12990 12993 12995 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 12996 12997 12998 13000 13005 13011 13012 13013 13016 13017 13021 13025 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13026 13031 13035 13050 13067 13069 13078 13081 13083 13085 13087 13089 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13096 13098 13099 13106 13107 13108 13110 13111 13112 13113 13115 13118 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13124 13125 13131 13133 13134 13138 13144 13146 13147 13149 13151 13153 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13157 13163 13168 13170 13181 13202 13206 13213 13216 13218 13220 13222 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13223 13226 13227 13230 13231 13232 13235 13239 13242 13243 13244 13255 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13259 13262 13265 13268 13269 13271 13278 13282 13283 13284 13285 13293 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13296 13299 13302 13303 13305 13313 13314 13316 13328 13329 13333 13334 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13337 13339 13341 13347 13348 13349 13360 13363 13364 13367 13368 13375 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13380 13384 13388 13391 13396 13397 13399 13404 13405 13411 13418 13421 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13422 13423 13429 13430 13433 13442 13447 13449 13451 13452 13459 13460 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13465 13466 13467 13471 13472 13473 13477 13478 13484 13493 13495 13497 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13503 13506 13516 13518 13520 13521 13526 13527 13530 13532 13534 13539 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13544 13545 13546 13549 13550 13551 13555 13557 13558 13561 13566 13567 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13569 13577 13581 13582 13584 13586 13588 13589 13590 13593 13609 13610 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13611 13614 13620 13623 13624 13625 13626 13629 13631 13632 13633 13637 
##     D     D     D     D     D     D     D     E     D     D     D     D 
## 13639 13643 13644 13653 13655 13663 13665 13676 13679 13682 13685 13689 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13691 13693 13694 13696 13697 13702 13703 13709 13719 13722 13730 13733 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13735 13737 13739 13740 13742 13744 13745 13748 13754 13756 13757 13758 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13759 13761 13766 13769 13774 13780 13782 13785 13787 13789 13790 13794 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13795 13797 13798 13799 13810 13814 13817 13822 13824 13826 13835 13839 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13841 13847 13852 13855 13856 13859 13860 13861 13862 13864 13867 13874 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13877 13878 13885 13886 13892 13895 13897 13901 13903 13908 13909 13912 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13914 13920 13925 13927 13928 13938 13939 13940 13943 13947 13952 13953 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13957 13958 13964 13971 13973 13984 13985 13989 13991 13992 13995 13997 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 13998 14000 14001 14006 14011 14012 14014 14017 14018 14019 14025 14028 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14029 14032 14034 14037 14040 14049 14054 14057 14058 14059 14060 14061 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14063 14067 14073 14078 14081 14085 14087 14089 14094 14099 14109 14111 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14113 14121 14123 14124 14125 14129 14141 14153 14154 14155 14161 14163 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14172 14174 14175 14177 14178 14182 14195 14203 14204 14206 14207 14208 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14209 14210 14212 14213 14215 14217 14226 14233 14241 14242 14248 14249 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14252 14258 14261 14264 14272 14276 14279 14281 14283 14284 14286 14287 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14291 14304 14305 14307 14308 14311 14313 14314 14315 14316 14321 14324 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14326 14331 14333 14334 14339 14344 14351 14352 14354 14360 14364 14367 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14370 14371 14372 14373 14378 14380 14381 14382 14383 14397 14401 14402 
##     C     C     C     D     D     D     D     D     D     D     D     D 
## 14414 14422 14426 14428 14429 14433 14437 14443 14444 14447 14450 14451 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14455 14456 14459 14460 14464 14465 14471 14473 14476 14477 14478 14482 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14485 14495 14499 14502 14506 14510 14511 14512 14513 14515 14521 14522 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14525 14526 14530 14532 14534 14535 14538 14542 14546 14552 14553 14557 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14564 14566 14572 14573 14574 14575 14577 14578 14580 14581 14585 14587 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14591 14598 14600 14603 14607 14609 14610 14611 14612 14615 14618 14623 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14626 14627 14630 14632 14635 14644 14646 14647 14651 14653 14658 14661 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14662 14673 14674 14678 14686 14692 14694 14696 14698 14699 14701 14702 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14703 14705 14706 14707 14708 14712 14713 14715 14719 14722 14723 14726 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14738 14739 14741 14745 14746 14748 14752 14754 14756 14758 14765 14767 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14771 14781 14786 14791 14792 14794 14795 14799 14800 14803 14804 14809 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14810 14822 14826 14839 14840 14843 14844 14855 14858 14866 14869 14871 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14872 14879 14884 14890 14894 14898 14910 14914 14916 14920 14923 14926 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14927 14929 14930 14932 14934 14940 14941 14943 14945 14947 14954 14956 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 14959 14963 14965 14966 14971 14981 14986 14988 14990 14994 14995 14997 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15005 15006 15009 15010 15015 15016 15019 15020 15021 15025 15028 15033 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15035 15037 15038 15040 15044 15051 15057 15060 15064 15066 15069 15072 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15073 15078 15082 15083 15084 15086 15087 15088 15091 15094 15095 15096 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15097 15108 15111 15117 15120 15124 15125 15128 15129 15132 15134 15135 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15137 15141 15142 15147 15148 15164 15165 15171 15172 15173 15179 15180 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15182 15186 15187 15190 15199 15205 15206 15207 15211 15212 15213 15214 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15216 15217 15218 15224 15225 15226 15240 15241 15244 15245 15249 15253 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15261 15265 15271 15272 15273 15285 15287 15289 15290 15293 15298 15302 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15307 15310 15313 15314 15317 15319 15321 15322 15327 15329 15336 15342 
##     D     D     D     D     D     D     C     C     D     D     D     D 
## 15345 15353 15354 15355 15358 15374 15381 15384 15390 15391 15406 15407 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15416 15426 15427 15433 15434 15446 15448 15451 15454 15458 15459 15463 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15468 15475 15476 15480 15481 15485 15486 15490 15497 15499 15500 15501 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15502 15505 15511 15518 15520 15521 15522 15524 15530 15534 15535 15536 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15538 15539 15540 15545 15548 15550 15558 15561 15576 15577 15578 15587 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15596 15597 15599 15600 15609 15611 15614 15617 15619 15620 15625 15626 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15628 15632 15634 15635 15636 15638 15640 15642 15644 15647 15652 15654 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15660 15662 15666 15669 15672 15674 15675 15677 15678 15679 15682 15689 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15690 15691 15695 15696 15700 15706 15712 15713 15714 15719 15726 15728 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15731 15733 15734 15738 15740 15743 15745 15747 15748 15751 15758 15763 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15766 15768 15771 15774 15777 15778 15779 15780 15782 15790 15795 15798 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15801 15802 15804 15805 15808 15811 15814 15817 15818 15823 15837 15839 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15841 15842 15843 15845 15853 15854 15857 15859 15860 15863 15864 15874 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15877 15880 15881 15882 15884 15887 15889 15890 15891 15893 15894 15906 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15908 15920 15932 15935 15939 15943 15946 15956 15958 15959 15960 15962 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 15963 15967 15971 15972 15975 15979 15980 15987 15988 15991 15995 16000 
##     D     D     D     D     D     D     D     D     D     D     D     D 
## 16001 16004 16007 16022 16026 16027 16032 16034 16040 16047 16048 16050 
##     D     D     D     E     E     E     E     E     E     E     E     E 
## 16054 16056 16067 16072 16074 16075 16079 16083 16084 16088 16089 16092 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16093 16094 16097 16099 16102 16106 16107 16108 16110 16113 16114 16116 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16121 16125 16127 16128 16137 16138 16142 16147 16155 16156 16159 16161 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16163 16165 16166 16169 16173 16174 16179 16180 16181 16182 16183 16185 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16188 16190 16191 16193 16202 16205 16207 16209 16211 16214 16218 16219 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16224 16233 16235 16239 16242 16244 16247 16250 16254 16258 16264 16267 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16269 16270 16271 16276 16277 16284 16288 16290 16296 16300 16301 16306 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16307 16314 16316 16322 16323 16329 16331 16334 16335 16336 16337 16338 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16341 16343 16344 16353 16361 16367 16368 16372 16373 16376 16384 16388 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16393 16399 16403 16407 16411 16414 16417 16420 16422 16426 16433 16434 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16436 16437 16438 16440 16442 16444 16445 16446 16448 16449 16458 16459 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16460 16467 16474 16481 16482 16483 16484 16485 16488 16489 16492 16494 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16496 16500 16501 16504 16506 16507 16508 16509 16511 16515 16516 16517 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16519 16520 16524 16526 16527 16531 16532 16535 16537 16538 16543 16544 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16553 16556 16558 16564 16566 16569 16572 16579 16582 16587 16589 16592 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16593 16604 16606 16609 16614 16615 16619 16621 16622 16624 16626 16627 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16629 16634 16635 16640 16644 16650 16652 16653 16654 16656 16657 16661 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16665 16674 16681 16682 16685 16687 16692 16695 16704 16705 16708 16710 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16713 16714 16715 16721 16722 16726 16728 16730 16731 16733 16734 16738 
##     E     E     E     D     E     E     E     E     E     E     E     E 
## 16742 16744 16747 16748 16749 16755 16756 16762 16764 16769 16772 16773 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16774 16775 16777 16778 16779 16781 16783 16784 16785 16786 16791 16793 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16795 16798 16799 16804 16808 16811 16814 16815 16821 16826 16830 16834 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16842 16850 16854 16865 16870 16871 16872 16873 16878 16887 16890 16891 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16893 16895 16899 16903 16906 16909 16912 16913 16925 16926 16932 16939 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16948 16949 16950 16951 16955 16956 16959 16962 16966 16973 16977 16979 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 16983 16984 16987 16991 16996 16997 16998 17002 17008 17011 17012 17014 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17015 17020 17021 17022 17025 17027 17028 17029 17037 17040 17043 17046 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17050 17051 17057 17060 17062 17070 17075 17077 17079 17080 17083 17084 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17085 17091 17092 17093 17094 17095 17096 17101 17102 17104 17108 17109 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17110 17118 17119 17120 17130 17132 17133 17135 17153 17155 17159 17163 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17165 17166 17167 17172 17176 17177 17184 17187 17189 17195 17198 17202 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17206 17213 17214 17217 17220 17224 17231 17236 17237 17240 17246 17249 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17251 17259 17261 17265 17266 17274 17277 17282 17284 17291 17294 17296 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17302 17310 17312 17313 17314 17316 17321 17340 17343 17344 17345 17346 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17348 17350 17353 17358 17360 17366 17369 17371 17374 17375 17383 17389 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17392 17395 17396 17400 17402 17406 17407 17409 17412 17415 17416 17417 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17418 17419 17420 17421 17424 17433 17437 17442 17443 17451 17454 17455 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17458 17462 17469 17470 17472 17479 17481 17484 17485 17489 17492 17493 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17500 17501 17506 17509 17511 17514 17521 17523 17534 17536 17538 17543 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17550 17554 17555 17561 17564 17567 17568 17569 17570 17571 17572 17575 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17578 17579 17580 17582 17584 17585 17587 17589 17592 17598 17599 17600 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17601 17605 17606 17610 17614 17617 17618 17621 17627 17629 17631 17653 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17658 17659 17663 17665 17666 17669 17671 17676 17679 17683 17687 17692 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17704 17705 17706 17721 17722 17723 17729 17736 17737 17747 17753 17755 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17769 17776 17779 17782 17784 17785 17787 17792 17796 17797 17798 17801 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17802 17805 17807 17813 17814 17819 17820 17821 17822 17826 17827 17829 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17834 17842 17845 17847 17851 17857 17866 17870 17871 17873 17877 17882 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17883 17886 17888 17891 17892 17894 17897 17899 17902 17905 17908 17913 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17915 17916 17919 17921 17923 17926 17928 17936 17942 17943 17953 17958 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17959 17966 17969 17970 17974 17979 17980 17981 17983 17987 17991 17992 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 17997 17998 18000 18002 18004 18005 18006 18008 18013 18015 18021 18024 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18027 18028 18031 18038 18049 18054 18058 18059 18060 18061 18062 18070 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18076 18077 18080 18081 18084 18086 18090 18091 18094 18101 18102 18104 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18107 18109 18112 18113 18116 18118 18122 18123 18126 18128 18131 18132 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18135 18136 18141 18142 18146 18149 18151 18158 18160 18164 18167 18170 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18171 18180 18183 18188 18192 18195 18200 18206 18207 18208 18211 18213 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18217 18219 18226 18228 18230 18233 18241 18242 18244 18245 18248 18249 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18257 18260 18263 18264 18269 18272 18273 18278 18279 18286 18292 18298 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18300 18305 18312 18315 18322 18323 18332 18335 18339 18341 18346 18349 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18352 18353 18357 18361 18363 18368 18371 18374 18380 18389 18390 18393 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18394 18395 18403 18405 18407 18411 18412 18422 18433 18440 18441 18445 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18447 18451 18455 18456 18457 18460 18461 18462 18464 18493 18497 18498 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18504 18508 18509 18510 18517 18523 18525 18531 18538 18544 18552 18555 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18563 18564 18566 18570 18572 18573 18576 18584 18588 18592 18600 18603 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18607 18610 18615 18617 18619 18623 18624 18629 18632 18634 18637 18638 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18639 18640 18643 18646 18647 18653 18659 18662 18664 18666 18671 18676 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18679 18680 18681 18683 18686 18687 18694 18695 18697 18705 18714 18717 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18718 18722 18723 18724 18725 18731 18736 18741 18744 18746 18750 18756 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18762 18767 18768 18773 18779 18780 18785 18790 18799 18800 18803 18804 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18808 18809 18811 18813 18818 18821 18826 18829 18830 18831 18834 18837 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18848 18862 18865 18868 18869 18871 18872 18875 18876 18877 18879 18881 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18894 18903 18904 18908 18910 18911 18916 18921 18926 18931 18932 18933 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18946 18948 18954 18955 18957 18960 18963 18968 18970 18971 18974 18975 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 18977 18981 18984 18985 18986 18987 18990 18991 18994 18995 18999 19000 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19004 19008 19009 19011 19012 19018 19025 19026 19034 19036 19039 19041 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19045 19053 19058 19062 19063 19068 19070 19080 19081 19084 19086 19088 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19091 19093 19095 19104 19107 19109 19111 19114 19116 19120 19124 19129 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19132 19136 19138 19139 19152 19155 19163 19165 19166 19168 19170 19173 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19174 19182 19183 19184 19187 19191 19192 19204 19207 19211 19219 19228 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19232 19234 19239 19242 19244 19253 19254 19255 19256 19260 19263 19268 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19270 19271 19272 19274 19276 19278 19291 19294 19295 19297 19298 19304 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19311 19313 19315 19316 19318 19319 19320 19326 19327 19328 19329 19337 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19345 19352 19356 19366 19371 19374 19376 19379 19382 19384 19386 19389 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19393 19398 19399 19405 19409 19414 19415 19416 19417 19419 19422 19424 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19425 19429 19431 19432 19438 19441 19446 19447 19449 19457 19461 19462 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19465 19467 19468 19470 19480 19482 19485 19487 19488 19490 19496 19499 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19501 19503 19506 19507 19513 19516 19517 19519 19522 19523 19524 19527 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19543 19546 19549 19551 19563 19565 19566 19568 19572 19574 19577 19578 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19581 19586 19588 19594 19596 19597 19600 19601 19606 19611 19612 19614 
##     E     E     E     E     E     E     E     E     E     E     E     E 
## 19615 19616 19618 19620 19622 
##     E     E     E     E     E 
## Levels: A B C D E

To generate file texts with predictions to submit for assignment. Here a warning is necessary, the code will create about 5,885 text files, so handle carefully.

file_to_assignment <- function(x){
  n=length(x)
  for (i in 1:n) {
    filename = paste0("problem_id_", i, ".txt")
    write.table(x[i], file = filename, quote = FALSE, row.names = FALSE, col.names = FALSE)
  }
}

To create the files, use the function: file_to_assignment(prediction_results)