當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R workflowsets as_workflow_set 將現有對象轉換為工作流集


使用現有對象創建工作流集。簡單工作流或具有類 "tune_results" 的對象列表可以轉換為工作流集。

用法

as_workflow_set(...)

參數

...

一個或多個命名對象。名稱應該是唯一的,並且對象應該至少具有以下類之一: workflowiteration_resultstune_resultsresample_resultstune_race 。每個tune_results 元素還應包含原始工作流程(使用控製函數中的save_workflow 選項完成)。

工作流程集。請注意,option 列不會反映用於創建每個對象的選項。

注意

該軟件包提供兩個預生成的工作流程集 two_class_setchi_features_set ,以及適合 two_class_reschi_features_res 的相關模型集。

two_class_* 對象基於使用 modeldata 包中的 two_class_dat 數據的二元分類問題。這六個模型利用裸公式或基本配方,利用 recipes::step_YeoJohnson() 作為預處理器,以及決策樹、邏輯回歸或 MARS 模型規範。有關源代碼,請參閱?two_class_set

chi_features_* 對象基於使用 modeldata 包中的 Chicago 數據的回歸問題。這三個模型均采用線性回歸模型規範,具有不同複雜性的三種不同配方。這些對象旨在近似 Kuhn 和 Johnson (2019) 第 1.3 節中構建的模型序列。有關源代碼,請參閱?chi_features_set

例子


# ------------------------------------------------------------------------------
# Existing results

# Use the already worked example to show how to add tuned
# objects to a workflow set
two_class_res
#> # A workflow set/tibble: 6 × 4
#>   wflow_id      info             option    result   
#>   <chr>         <list>           <list>    <list>   
#> 1 none_cart     <tibble [1 × 4]> <opts[3]> <tune[+]>
#> 2 none_glm      <tibble [1 × 4]> <opts[3]> <rsmp[+]>
#> 3 none_mars     <tibble [1 × 4]> <opts[3]> <tune[+]>
#> 4 yj_trans_cart <tibble [1 × 4]> <opts[3]> <tune[+]>
#> 5 yj_trans_glm  <tibble [1 × 4]> <opts[3]> <rsmp[+]>
#> 6 yj_trans_mars <tibble [1 × 4]> <opts[3]> <tune[+]>

results <- two_class_res %>% purrr::pluck("result")
names(results) <- two_class_res$wflow_id

# These are all objects that have been resampled or tuned:
purrr::map_chr(results, ~ class(.x)[1])
#>          none_cart           none_glm          none_mars 
#>     "tune_results" "resample_results"     "tune_results" 
#>      yj_trans_cart       yj_trans_glm      yj_trans_mars 
#>     "tune_results" "resample_results"     "tune_results" 

# Use rlang's !!! operator to splice in the elements of the list
new_set <- as_workflow_set(!!!results)

# ------------------------------------------------------------------------------
# Make a set from unfit workflows

library(parsnip)
library(workflows)

lr_spec <- logistic_reg()

main_effects <-
  workflow() %>%
  add_model(lr_spec) %>%
  add_formula(Class ~ .)

interactions <-
  workflow() %>%
  add_model(lr_spec) %>%
  add_formula(Class ~ (.)^2)

as_workflow_set(main = main_effects, int = interactions)
#> # A workflow set/tibble: 2 × 4
#>   wflow_id info             option    result
#>   <chr>    <list>           <list>    <list>
#> 1 main     <tibble [1 × 4]> <opts[0]> <NULL>
#> 2 int      <tibble [1 × 4]> <opts[0]> <NULL>

相關用法


注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Convert existing objects to a workflow set。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。