我为 TidyTuesday 上的最新咖啡数据集整理了一个数据预处理方法。我的目的是生成一个工作流,然后从那里调整一个超参数。我对通过各种update_role()函数手动声明预测变量和结果特别感兴趣,而不是使用公式,因为我对这种类型的变量选择有一些很好的计划(这是一个非常好的主意!)。
下面的示例生成了一个与prep和一起工作的配方bake(coffee_test)。如果我取消选择结果列,它甚至可以工作,例如。coffee_recipe %>% bake(select(coffee_test, -cupper_points)). 但是,当我运行工作流程时tune_grid,出现如图所示的错误。看起来tune_grid找不到没有“预测者”角色的变量,即使bake做得很好。
现在,如果我改为使用公式和step_rm我不关心的变量以正常方式做事,那么事情大多会奏效——我会收到一些缺少country_of_origin值的行的警告,我觉得这很奇怪,因为我应该进行估算那些。我完全有可能误解了角色的目的以及如何使用它们。
library(tidyverse)
library(tidymodels)
#> ?? Attaching packages ????????????????????????????????????????????????????? tidymodels 0.1.1 ??
#> ? broom 0.7.0 ? recipes 0.1.13
#> ? dials 0.0.8 ? rsample 0.0.7
#> ? infer 0.5.3 ? tune 0.1.1
#> ? modeldata 0.0.2 ? workflows 0.1.2
#> ? parsnip 0.1.2 ? yardstick 0.0.7
#> ?? Conflicts ???????????????????????????????????????????????????????? tidymodels_conflicts() ??
#> x …Run Code Online (Sandbox Code Playgroud)