-
add_variables()
通過對outcomes
和predictors
使用 tidyselect::select_helpers 來指定模型的項。 -
remove_variables()
刪除變量。此外,如果模型已經擬合,則擬合將被刪除。 -
update_variables()
首先刪除變量,然後用新變量替換以前的變量。任何已經基於原始變量擬合的模型都需要重新擬合。 -
workflow_variables()
將outcomes
和predictors
捆綁到單個變量對象中,該對象可以提供給add_variables()
。
用法
add_variables(x, outcomes, predictors, ..., blueprint = NULL, variables = NULL)
remove_variables(x)
update_variables(
x,
outcomes,
predictors,
...,
blueprint = NULL,
variables = NULL
)
workflow_variables(outcomes, predictors)
參數
- x
-
工作流程
- outcomes, predictors
-
Tidyselect 表達式指定模型的項。首先評估
outcomes
,然後在評估predictors
之前從數據中刪除所有結果列。有關指定術語的全部可能方法,請參閱tidyselect::select_helpers。 - ...
-
不曾用過。
- blueprint
-
用於微調預處理的安全帽藍圖。
如果使用
NULL
,則使用hardhat::default_xy_blueprint()
。請注意,此處完成的預處理與底層模型可能完成的預處理是分開的。
- variables
-
outcomes
和predictors
的替代規範,可用於以編程方式提供變量。-
如果是
NULL
,則不使用該參數,並且使用outcomes
和predictors
來指定變量。 -
否則,這必須是調用
workflow_variables()
創建獨立變量對象的結果。在這種情況下,outcomes
和predictors
被完全忽略。
-
值
-
add_variables()
返回帶有新變量預處理器的x
。 -
重置任何模型擬合並刪除變量預處理器後,
remove_variables()
返回x
。 -
刪除變量預處理器後,
update_variables()
返回x
,然後用新變量重新指定它。 -
workflow_variables()
返回一個 'workflow_variables' 對象,其中包含outcomes
和predictors
。
細節
要適應工作流程,必須指定 add_formula()
、 add_recipe()
或 add_variables()
之一。
例子
library(parsnip)
spec_lm <- linear_reg()
spec_lm <- set_engine(spec_lm, "lm")
workflow <- workflow()
workflow <- add_model(workflow, spec_lm)
# Add terms with tidyselect expressions.
# Outcomes are specified before predictors.
workflow1 <- add_variables(
workflow,
outcomes = mpg,
predictors = c(cyl, disp)
)
workflow1 <- fit(workflow1, mtcars)
workflow1
#> ══ Workflow [trained] ════════════════════════════════════════════════════
#> Preprocessor: Variables
#> Model: linear_reg()
#>
#> ── Preprocessor ──────────────────────────────────────────────────────────
#> Outcomes: mpg
#> Predictors: c(cyl, disp)
#>
#> ── Model ─────────────────────────────────────────────────────────────────
#>
#> Call:
#> stats::lm(formula = ..y ~ ., data = data)
#>
#> Coefficients:
#> (Intercept) cyl disp
#> 34.66099 -1.58728 -0.02058
#>
# Removing the variables of a fit workflow will also remove the model
remove_variables(workflow1)
#> ══ Workflow ══════════════════════════════════════════════════════════════
#> Preprocessor: None
#> Model: linear_reg()
#>
#> ── Model ─────────────────────────────────────────────────────────────────
#> Linear Regression Model Specification (regression)
#>
#> Computational engine: lm
#>
# Variables can also be updated
update_variables(workflow1, mpg, starts_with("d"))
#> ══ Workflow ══════════════════════════════════════════════════════════════
#> Preprocessor: Variables
#> Model: linear_reg()
#>
#> ── Preprocessor ──────────────────────────────────────────────────────────
#> Outcomes: mpg
#> Predictors: starts_with("d")
#>
#> ── Model ─────────────────────────────────────────────────────────────────
#> Linear Regression Model Specification (regression)
#>
#> Computational engine: lm
#>
# The `outcomes` are removed before the `predictors` expression
# is evaluated. This allows you to easily specify the predictors
# as "everything except the outcomes".
workflow2 <- add_variables(workflow, mpg, everything())
workflow2 <- fit(workflow2, mtcars)
extract_mold(workflow2)$predictors
#> # A tibble: 32 × 10
#> cyl disp hp drat wt qsec vs am gear carb
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 6 160 110 3.9 2.62 16.5 0 1 4 4
#> 2 6 160 110 3.9 2.88 17.0 0 1 4 4
#> 3 4 108 93 3.85 2.32 18.6 1 1 4 1
#> 4 6 258 110 3.08 3.22 19.4 1 0 3 1
#> 5 8 360 175 3.15 3.44 17.0 0 0 3 2
#> 6 6 225 105 2.76 3.46 20.2 1 0 3 1
#> 7 8 360 245 3.21 3.57 15.8 0 0 3 4
#> 8 4 147. 62 3.69 3.19 20 1 0 4 2
#> 9 4 141. 95 3.92 3.15 22.9 1 0 4 2
#> 10 6 168. 123 3.92 3.44 18.3 1 0 4 4
#> # … with 22 more rows
# Variables can also be added from the result of a call to
# `workflow_variables()`, which creates a standalone variables object
variables <- workflow_variables(mpg, c(cyl, disp))
workflow3 <- add_variables(workflow, variables = variables)
fit(workflow3, mtcars)
#> ══ Workflow [trained] ════════════════════════════════════════════════════
#> Preprocessor: Variables
#> Model: linear_reg()
#>
#> ── Preprocessor ──────────────────────────────────────────────────────────
#> Outcomes: mpg
#> Predictors: c(cyl, disp)
#>
#> ── Model ─────────────────────────────────────────────────────────────────
#>
#> Call:
#> stats::lm(formula = ..y ~ ., data = data)
#>
#> Coefficients:
#> (Intercept) cyl disp
#> 34.66099 -1.58728 -0.02058
#>
相關用法
- R workflows add_model 將模型添加到工作流程
- R workflows add_formula 將公式術語添加到工作流程
- R workflows add_recipe 將配方添加到工作流程
- R workflows add_case_weights 將案例權重添加到工作流程
- 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 variables to a workflow。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。