Hi,
I am running through a couple of really good tutorials on tidymodels
below but am getting stuck with the error message. I think the problem is when I am trying to tune the underratio
and threshold
variables. In the blog post only one of the articles does any kind of finalizing which is described in the tidymodels
documentation here
Error: Some tuning parameters require finalization but there are recipe parameters that require tuning. Please use
parameters()
to finalize the parameter ranges.
Blog Posts for reference
https://www.brodrigues.co/blog/2020-03-08-tidymodels/
Reprex
library(tidymodels)
library(tidyverse)
# Create a dataframe where we are trying to predict Setosa
mydf <- iris %>%
mutate(set_tgt = factor(ifelse(Species == 'setosa', 'yes', 'no'))) %>%
select(-Species)
# Try tune the correlation before removal and the sampling ratio
flower_rec <- recipe(set_tgt ~ ., data = mydf) %>%
step_downsample(uv_confirmed, under_ratio = tune()) %>%
step_corr(recipes::all_numeric(), -recipes::all_outcomes(), threshold = tune())
# Set up the cross validation for this
cv_splits <- vfold_cv(mydf, strata = "set_tgt")
# Create the Random Forest Engine
rf_model <- rand_forest(mtry = tune(), trees = 5000, min_n = tune()) %>%
set_mode("classification") %>%
set_engine("ranger")
rf_grid <- grid_regular(
mtry() %>% range_set(c(1, 20)),
threshold(),
under_ratio(),
min_n() %>% range_set(c(2, 10)),
levels = 5
)
rf_workflow <- workflow() %>%
add_recipe(flower_rec) %>%
add_model(rf_model)
rf_results <- tune_grid(
rf_workflow,
resamples = cv_splits,
grid = rf_grid,
metrics = metric_set(roc_auc)
)
#> Error: Some tuning parameters require finalization but there are recipe parameters that require tuning. Please use `parameters()` to finalize the parameter ranges.
Created on 2020-03-30 by the reprex package (v0.3.0)