Я новичок в recipes
и имею некоторые проблемы с API.Почему я не могу bake
или juice
мои шаги рецепта, когда я удалил определенные функции, которые мне не интересны?
set.seed(999)
train_test_split <- initial_split(mtcars)
mtcars_train <- training(train_test_split)
mtcars_test <- testing(train_test_split)
mtcars_train %>%
recipe(mpg ~ cyl + disp + hp + gear) %>%
step_rm(qsec, vs, carb) %>%
step_center(all_numeric()) %>%
step_scale(all_numeric()) %>%
prep(training = mtcars_train)
приводит к:
Error in .f(.x[[i]], ...) : object 'qsec' not found
Это довольно раздражает, потому что это означает, что мне нужно будет удалять строки вручную как в тестовом наборе, так и в наборе поездов после применения шагов:
rec_scale <- mtcars %>%
recipe(mpg ~ cyl + disp + hp + gear) %>%
step_center(all_numeric()) %>%
step_scale(all_numeric()) %>%
prep(training = mtcars_train)
train <- juice(rec_scale) %>%
select(-qsec, -vs, -carb)
test <- bake(rec_scale, mtcars_test) %>%
select(-qsec, -vs, -carb)
Я думаю об этом неправильно?В качестве альтернативы я мог бы фильтровать заранее, но я бы подумал, что мой рецепт должен включать такие вещи.