该函数系列围绕选择 data
列用于案例权重进行。此列必须是允许的 case 权重类型之一,例如 hardhat::frequency_weights()
或 hardhat::importance_weights()
。具体来说,它必须从 hardhat::is_case_weights()
返回 TRUE
。基础模型将决定您提供的案例权重类型是否适用。
-
add_case_weights()
指定将被解释为模型中的个案权重的列。此列必须存在于提供给 fit() 的data
中。 -
remove_case_weights()
删除案例权重。此外,如果模型已经拟合,则拟合将被删除。 -
update_case_weights()
首先删除案例权重,然后用新的权重替换它们。
参数
- x
-
工作流程
- col
-
一个不带引号的列名称,指定模型的案例权重。这必须是分类案例权重列,由
hardhat::is_case_weights()
确定。
细节
对于公式和变量预处理器,在评估预处理器之前,会从数据中删除案例权重 col
。这使您可以使用 y ~ .
等公式或 everything()
等 tidyselection ,而不必担心意外选择案例权重列。
对于配方预处理器,案例权重 col
不会被删除,而是会传递给配方。通常,您的配方将包括可以利用箱子重量的步骤。
例子
library(parsnip)
library(magrittr)
library(hardhat)
mtcars2 <- mtcars
mtcars2$gear <- frequency_weights(mtcars2$gear)
spec <- linear_reg() %>%
set_engine("lm")
wf <- workflow() %>%
add_case_weights(gear) %>%
add_formula(mpg ~ .) %>%
add_model(spec)
wf <- fit(wf, mtcars2)
# Notice that the case weights (gear) aren't included in the predictors
extract_mold(wf)$predictors
#> # A tibble: 32 × 10
#> `(Intercept)` cyl disp hp drat wt qsec vs am carb
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 6 160 110 3.9 2.62 16.5 0 1 4
#> 2 1 6 160 110 3.9 2.88 17.0 0 1 4
#> 3 1 4 108 93 3.85 2.32 18.6 1 1 1
#> 4 1 6 258 110 3.08 3.22 19.4 1 0 1
#> 5 1 8 360 175 3.15 3.44 17.0 0 0 2
#> 6 1 6 225 105 2.76 3.46 20.2 1 0 1
#> 7 1 8 360 245 3.21 3.57 15.8 0 0 4
#> 8 1 4 147. 62 3.69 3.19 20 1 0 2
#> 9 1 4 141. 95 3.92 3.15 22.9 1 0 2
#> 10 1 6 168. 123 3.92 3.44 18.3 1 0 4
#> # … with 22 more rows
# Strip them out of the workflow, which also resets the model
remove_case_weights(wf)
#> ══ Workflow ══════════════════════════════════════════════════════════════
#> Preprocessor: Formula
#> Model: linear_reg()
#>
#> ── Preprocessor ──────────────────────────────────────────────────────────
#> mpg ~ .
#>
#> ── Model ─────────────────────────────────────────────────────────────────
#> Linear Regression Model Specification (regression)
#>
#> Computational engine: lm
#>
相关用法
- R workflows add_model 将模型添加到工作流程
- R workflows add_variables 将变量添加到工作流程
- R workflows add_formula 将公式术语添加到工作流程
- R workflows add_recipe 将配方添加到工作流程
- R workflows augment.workflow 通过预测增强数据
- R workflows workflow 创建工作流程
- R workflows extract-workflow 提取工作流程的元素
- R workflows predict-workflow 从工作流程进行预测
- R workflows glance.workflow 工作流程模型一览
- R workflows is_trained_workflow 确定工作流程是否经过训练
- R workflows fit-workflow 适合工作流对象
- R workflows control_workflow 工作流的控制对象
- R workflowsets extract_workflow_set_result 提取工作流集的元素
- R workflowsets comment_add 为工作流程添加注释和评论
- R workflowsets option_add 添加和编辑工作流程集中保存的选项
- R workflowsets fit_best.workflow_set 将模型拟合到数值最优配置
- R workflowsets leave_var_out_formulas 创建没有每个预测变量的公式
- R workflowsets collect_metrics.workflow_set 获取并格式化通过调整工作流集函数生成的结果
- R workflowsets workflow_map 处理一系列工作流程
- R workflowsets as_workflow_set 将现有对象转换为工作流集
- R workflowsets option_list 制作一个分类的选项列表
- R workflowsets rank_results 按指标对结果进行排名
- R workflowsets workflow_set 从预处理和模型对象生成一组工作流对象
- R workflowsets pull_workflow_set_result 从工作流集中提取元素
- R workflowsets autoplot.workflow_set 绘制工作流程集的结果
注:本文由纯净天空筛选整理自Davis Vaughan等大神的英文原创作品 Add case weights to a workflow。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。