使用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)
刚刚找到解决方案。我想我可以更改我不想用作预测因子的列的角色。
rec <- rec %>% add_role(description, new_role = "dont_use")
随着食谱>=0.20 的更新,如果 new_data bake(( 不包含所有必需的列,bake(( 现在将出错。建议的解决方案是使用 update_role_requirements((。
rec <- rec %>% update_role_requirements(role = "dont_use", bake = FALSE)