該函數係列圍繞選擇 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。