knitr::opts_chunk$set(echo = TRUE)
models <- c("glm", "lda", "naive_bayes", "svmLinear", "knn", "gamLoess", "multinom", "qda", "rf", "adaboost")

library(caret)
## Loading required package: lattice
## Loading required package: ggplot2
library(dslabs)
set.seed(1) # use `set.seed(1, sample.kind = "Rounding")` in R 3.6 or later
data("mnist_27")

fits <- lapply(models, function(model){ 
    print(model)
    train(y ~ ., method = model, data = mnist_27$train)
}) 
## [1] "glm"
## [1] "lda"
## [1] "naive_bayes"
## [1] "svmLinear"
## [1] "knn"
## [1] "gamLoess"
## Loading required package: gam
## Loading required package: splines
## Loading required package: foreach
## Loaded gam 1.16.1
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.53846
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.53555
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.53555
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.46667
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.43969
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.53846
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.53555
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.53555
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.46667
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.43969
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.53846
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.50205
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.51111
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.50205
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.50205
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.53333
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.50205
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.50588
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.50205
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.089286
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.092316
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.53846
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.53555
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.53555
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.46667
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.43969
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored

## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.54071
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.089286
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.092316
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.53846
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.51322
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.51322
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.53333
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.51322
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.54071
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.54071
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.46667
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.43969
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.089286
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.10703
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.094737
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.10703
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.089286
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.10723
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.094737
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.10723
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.54061
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.46667
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.43969
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.53846
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.53555
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.53555
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.53846
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.51322
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.51322
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.53333
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.51322
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.089286
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.092316
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored

## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.46667
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.43969
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.089286
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.10703
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.094737
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.10703
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.54071
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.46667
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.40628
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.41379
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.40628
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.4375
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.40628
## Warning in gam.lo(data[["lo(x_1, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.089286
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.10761
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.094737
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : lowerlimit 0.10761
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : eval 0.57895
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : upperlimit 0.54061
## Warning in gam.lo(data[["lo(x_2, span = 0.5, degree = 1)"]], z, w, span =
## 0.5, : extrapolation not allowed with blending
## Warning in model.matrix.default(mt, mf, contrasts): non-list contrasts
## argument ignored
## [1] "multinom"
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 340.447413
## final  value 340.447361 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 385.009822 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 340.515756
## final  value 340.515703 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 355.491548
## final  value 355.334096 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 399.994557 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 355.560397
## final  value 355.404046 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 332.977945
## final  value 332.776189 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 383.652420 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 333.057166
## final  value 332.857086 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 360.815668
## iter  10 value 360.815664
## iter  10 value 360.815664
## final  value 360.815664 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 401.991029 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 360.877678
## iter  10 value 360.877674
## iter  10 value 360.877673
## final  value 360.877673 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 353.445113
## final  value 353.445099 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 397.620330 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 353.512471
## final  value 353.512457 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 384.705847 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 419.872138 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 384.756753 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 376.311956
## final  value 376.311945 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 414.533042 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 376.368612
## final  value 376.368601 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 348.115740
## final  value 348.115719 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 394.780931 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 348.188604
## final  value 348.188583 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 371.294670
## final  value 371.294648 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 407.162776 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 371.346769
## final  value 371.346747 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 340.460748
## final  value 340.460735 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 385.329076 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 340.529383
## final  value 340.529370 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 369.071134 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 409.102586 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 369.131201 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 353.789756
## final  value 353.789729 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 397.213336 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 353.855907
## final  value 353.855880 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 349.900015
## final  value 349.900003 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 395.063948 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 349.969829
## final  value 349.969816 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 340.283330
## final  value 340.113998 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 388.970784 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 340.356087
## final  value 340.192140 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 356.142461
## iter  10 value 356.142460
## iter  10 value 356.142460
## final  value 356.142460 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 400.364737 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 356.210409
## iter  10 value 356.210409
## iter  10 value 356.210408
## final  value 356.210408 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 366.460859
## final  value 366.457990 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 408.726455 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 366.525723
## final  value 366.522943 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 345.681221
## final  value 345.681216 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 391.157784 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 345.751777
## final  value 345.751772 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 381.951887 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 417.689638 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 382.004339 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 374.392494
## iter  10 value 374.392494
## iter  10 value 374.392494
## final  value 374.392494 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 411.255312 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 374.446101
## iter  10 value 374.446101
## iter  10 value 374.446101
## final  value 374.446101 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 352.792114
## iter  10 value 352.792111
## iter  10 value 352.792111
## final  value 352.792111 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 400.589977 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 352.868524
## iter  10 value 352.868522
## iter  10 value 352.868522
## final  value 352.868522 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 367.459858 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 410.336503 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 367.526043 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 361.928018 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 401.510577 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 361.987362 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 353.664516
## final  value 353.664502 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 398.446936 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 353.733429
## final  value 353.733415 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 376.662697
## final  value 376.662654 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 413.902664 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 376.717948
## final  value 376.717905 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 364.624146
## iter  10 value 364.624145
## iter  10 value 364.624145
## final  value 364.624145 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 402.783558 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## iter  10 value 364.680086
## iter  10 value 364.680086
## iter  10 value 364.680086
## final  value 364.680086 
## converged
## # weights:  4 (3 variable)
## initial  value 554.517744 
## final  value 401.160559 
## converged
## [1] "qda"
## [1] "rf"
## note: only 1 unique complexity parameters in default grid. Truncating the grid to 1 .
## 
## [1] "adaboost"
names(fits) <- models


pred <- sapply(fits, function(object) 
    predict(object, newdata = mnist_27$test))
dim(pred)
## [1] 200  10
acc_hat <- sapply(fits, function(fit) min(fit$results$Accuracy))
mean(acc_hat)
## [1] 0.8072548
ind <- acc_hat >= mean(acc_hat)
head(ind)
##         glm         lda naive_bayes   svmLinear         knn    gamLoess 
##       FALSE       FALSE        TRUE       FALSE       FALSE        TRUE
votes <- rowMeans(pred[,ind] == "7")
head(votes)
## [1] 0 1 1 1 1 0
y_hat <- ifelse(votes>=0.5, 7, 2)
mean(y_hat == mnist_27$test$y)
## [1] 0.815