Issued discovered during the Applied machine learning workshop. Related to issue #159 .
suggested to submit issue from @jyuu .
library(tidymodels)
#> Registered S3 method overwritten by 'xts':
#> method from
#> as.zoo.xts zoo
#> -- Attaching packages ----------------------------------------------------------- tidymodels 0.0.3 --
#> v broom 0.5.3 v purrr 0.3.3
#> v dials 0.0.4 v recipes 0.1.9
#> v dplyr 0.8.3 v rsample 0.0.5
#> v ggplot2 3.2.1 v tibble 2.1.3
#> v infer 0.5.1 v yardstick 0.0.4
#> v parsnip 0.0.5
#> -- Conflicts -------------------------------------------------------------- tidymodels_conflicts() --
#> x purrr::discard() masks scales::discard()
#> x dplyr::filter() masks stats::filter()
#> x dplyr::lag() masks stats::lag()
#> x ggplot2::margin() masks dials::margin()
#> x recipes::step() masks stats::step()
#> x recipes::yj_trans() masks scales::yj_trans()
library(tune)
library(doParallel)
#> Loading required package: foreach
#>
#> Attaching package: 'foreach'
#> The following objects are masked from 'package:purrr':
#>
#> accumulate, when
#> Loading required package: iterators
#> Loading required package: parallel
data(Chicago)
us_hol <-
timeDate::listHolidays() %>%
stringr::str_subset("(^US)|(Easter)")
chi_rec <-
recipe(ridership ~ ., data = Chicago) %>%
step_holiday(date, holidays = us_hol) %>%
step_date(date) %>%
step_rm(date) %>%
step_dummy(all_nominal()) %>%
step_zv(all_predictors())
chi_folds <- rolling_origin(Chicago, initial = 364 * 15, assess = 7 * 4, skip = 7 * 4, cumulative = FALSE)
glmn_grid <- expand.grid(penalty = 10^seq(-3, -1,
length.out = 20),
mixture = (0:5)/5)
glmn_rec <- chi_rec %>% step_normalize(all_predictors())
glmn_mod <-
linear_reg(penalty = tune(), mixture = tune()) %>% set_engine("glmnet")
ctrl <- control_grid(save_pred = TRUE,
verbose = TRUE)
glmn_tune <-
tune_grid(
glmn_rec,
model = glmn_mod,
resamples = chi_folds,
grid = glmn_grid,
control = ctrl
)
#> i Slice1: recipe
#> v Slice1: recipe
#> i Slice1: model 1/6
#> v Slice1: model 1/6
#> i Slice1: model 1/6 (predictions)
#> i Slice1: model 2/6
#> v Slice1: model 2/6
#> i Slice1: model 2/6 (predictions)
#> i Slice1: model 3/6
#> v Slice1: model 3/6
#> i Slice1: model 3/6 (predictions)
#> i Slice1: model 4/6
#> v Slice1: model 4/6
#> i Slice1: model 4/6 (predictions)
#> i Slice1: model 5/6
#> v Slice1: model 5/6
#> i Slice1: model 5/6 (predictions)
#> i Slice1: model 6/6
#> v Slice1: model 6/6
#> i Slice1: model 6/6 (predictions)
#> i Slice2: recipe
#> v Slice2: recipe
#> i Slice2: model 1/6
#> v Slice2: model 1/6
#> i Slice2: model 1/6 (predictions)
#> i Slice2: model 2/6
#> v Slice2: model 2/6
#> i Slice2: model 2/6 (predictions)
#> i Slice2: model 3/6
#> v Slice2: model 3/6
#> i Slice2: model 3/6 (predictions)
#> i Slice2: model 4/6
#> v Slice2: model 4/6
#> i Slice2: model 4/6 (predictions)
#> i Slice2: model 5/6
#> v Slice2: model 5/6
#> i Slice2: model 5/6 (predictions)
#> i Slice2: model 6/6
#> v Slice2: model 6/6
#> i Slice2: model 6/6 (predictions)
#> i Slice3: recipe
#> v Slice3: recipe
#> i Slice3: model 1/6
#> v Slice3: model 1/6
#> i Slice3: model 1/6 (predictions)
#> i Slice3: model 2/6
#> v Slice3: model 2/6
#> i Slice3: model 2/6 (predictions)
#> i Slice3: model 3/6
#> v Slice3: model 3/6
#> i Slice3: model 3/6 (predictions)
#> i Slice3: model 4/6
#> v Slice3: model 4/6
#> i Slice3: model 4/6 (predictions)
#> i Slice3: model 5/6
#> v Slice3: model 5/6
#> i Slice3: model 5/6 (predictions)
#> i Slice3: model 6/6
#> v Slice3: model 6/6
#> i Slice3: model 6/6 (predictions)
#> i Slice4: recipe
#> v Slice4: recipe
#> i Slice4: model 1/6
#> v Slice4: model 1/6
#> i Slice4: model 1/6 (predictions)
#> i Slice4: model 2/6
#> v Slice4: model 2/6
#> i Slice4: model 2/6 (predictions)
#> i Slice4: model 3/6
#> v Slice4: model 3/6
#> i Slice4: model 3/6 (predictions)
#> i Slice4: model 4/6
#> v Slice4: model 4/6
#> i Slice4: model 4/6 (predictions)
#> i Slice4: model 5/6
#> v Slice4: model 5/6
#> i Slice4: model 5/6 (predictions)
#> i Slice4: model 6/6
#> v Slice4: model 6/6
#> i Slice4: model 6/6 (predictions)
#> i Slice5: recipe
#> v Slice5: recipe
#> i Slice5: model 1/6
#> v Slice5: model 1/6
#> i Slice5: model 1/6 (predictions)
#> i Slice5: model 2/6
#> v Slice5: model 2/6
#> i Slice5: model 2/6 (predictions)
#> i Slice5: model 3/6
#> v Slice5: model 3/6
#> i Slice5: model 3/6 (predictions)
#> i Slice5: model 4/6
#> v Slice5: model 4/6
#> i Slice5: model 4/6 (predictions)
#> i Slice5: model 5/6
#> v Slice5: model 5/6
#> i Slice5: model 5/6 (predictions)
#> i Slice5: model 6/6
#> v Slice5: model 6/6
#> i Slice5: model 6/6 (predictions)
#> i Slice6: recipe
#> v Slice6: recipe
#> i Slice6: model 1/6
#> v Slice6: model 1/6
#> i Slice6: model 1/6 (predictions)
#> i Slice6: model 2/6
#> v Slice6: model 2/6
#> i Slice6: model 2/6 (predictions)
#> i Slice6: model 3/6
#> v Slice6: model 3/6
#> i Slice6: model 3/6 (predictions)
#> i Slice6: model 4/6
#> v Slice6: model 4/6
#> i Slice6: model 4/6 (predictions)
#> i Slice6: model 5/6
#> v Slice6: model 5/6
#> i Slice6: model 5/6 (predictions)
#> i Slice6: model 6/6
#> v Slice6: model 6/6
#> i Slice6: model 6/6 (predictions)
#> i Slice7: recipe
#> v Slice7: recipe
#> i Slice7: model 1/6
#> v Slice7: model 1/6
#> i Slice7: model 1/6 (predictions)
#> i Slice7: model 2/6
#> v Slice7: model 2/6
#> i Slice7: model 2/6 (predictions)
#> i Slice7: model 3/6
#> v Slice7: model 3/6
#> i Slice7: model 3/6 (predictions)
#> i Slice7: model 4/6
#> v Slice7: model 4/6
#> i Slice7: model 4/6 (predictions)
#> i Slice7: model 5/6
#> v Slice7: model 5/6
#> i Slice7: model 5/6 (predictions)
#> i Slice7: model 6/6
#> v Slice7: model 6/6
#> i Slice7: model 6/6 (predictions)
#> i Slice8: recipe
#> v Slice8: recipe
#> i Slice8: model 1/6
#> v Slice8: model 1/6
#> i Slice8: model 1/6 (predictions)
#> i Slice8: model 2/6
#> v Slice8: model 2/6
#> i Slice8: model 2/6 (predictions)
#> i Slice8: model 3/6
#> v Slice8: model 3/6
#> i Slice8: model 3/6 (predictions)
#> i Slice8: model 4/6
#> v Slice8: model 4/6
#> i Slice8: model 4/6 (predictions)
#> i Slice8: model 5/6
#> v Slice8: model 5/6
#> i Slice8: model 5/6 (predictions)
#> i Slice8: model 6/6
#> v Slice8: model 6/6
#> i Slice8: model 6/6 (predictions)
# this works fine, but in parralel processing....
# parallel processing...
parallel::detectCores(logical = FALSE)
#> [1] 4
# = 4 cores on my computer
registerDoParallel(makeCluster(4))
# run `tune_grid()`...
glmn_tune <-
tune::tune_grid(
glmn_rec,
model = glmn_mod,
resamples = chi_folds,
grid = glmn_grid,
control = ctrl
)
#> Warning: All models failed in tune_grid(). See the `.notes` column.
glmn_tune$.notes[[1]]
#> # A tibble: 1 x 1
#> .notes
#> <chr>
#> 1 "recipe: Error in all_nominal(): could not find function \"all_nominal\""
Created on 2020-01-28 by the reprex package (v0.3.0)
Issued discovered during the Applied machine learning workshop. Related to issue #159 .
suggested to submit issue from @jyuu .
Created on 2020-01-28 by the reprex package (v0.3.0)