小编mdn*_*ing的帖子

Tidymodels tune_grid:不使用公式时“不能对不存在的列进行子集化”

我为 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)

r r-recipes tidymodels

6
推荐指数
1
解决办法
1396
查看次数

标签 统计

r ×1

r-recipes ×1

tidymodels ×1