Как исключить определенные переменные из рецепта?
При использовании step_regex
Функция для построения рецепта для модели, она создает дополнительные столбцы для определенных шаблонов в исходном столбце. Есть ли способ исключить оригинальную колонку из рецепта, как только я закончу с этим?
Например, в приведенном ниже примере продукт содержит как оригинальные description
столбец и два недавно созданные step_regex
, Я хочу решение, которое интегрировано с recipe
объект, так что я могу использовать его непосредственно в caret::train
,
library(recipe)
data(covers)
rec <- recipe(~ description, covers) %>%
step_regex(description, pattern = "(rock|stony)", result = "rocks") %>%
step_regex(description, pattern = "ratake families")
rec2 <- prep(rec, training = covers)
with_dummies <- bake(rec2, newdata = covers)
2 ответа
Просто нашел решение. Я думаю, что могу изменить роль для столбцов, которые я не хочу использовать в качестве предикторов.
rec <- rec %>% add_role(description, new_role = "dont_use")
С обновлением recipes &gt;=0.20 , Bake() теперь будет выдавать ошибку, если new_data не содержит все необходимые столбцы. Рекомендуемое решение — использовать update_role_requirements().
rec <- rec %>% update_role_requirements(role = "dont_use", bake = FALSE)