【问题标题】:fit_xy() usage for cross_validation in Tidy Models整洁模型中交叉验证的 fit_xy() 用法
【发布时间】:2023-03-15 01:13:01
【问题描述】:

我是 Tidy Models 的新手,到目前为止我很喜欢它,但对使用非公式接口进行重采样/交叉验证有疑问。到目前为止我理解它的方式,为了让我应用重采样()/交叉验证,我应该写一个

  • 使用公式:结果 ~ 预测器

    rf_rec <- 
        recipe(y_graduated ~ ., 
               data = trainDat_predSet)

  • 指定型号

    # Setting Random Forest Model Specifications
        rf_model <-
          rand_forest() %>%
          set_engine("ranger") %>%
          set_mode("classification") %>%
          set_args(mtry = 3, 
                   trees = 50,
                   min_n = 5)

  • 创建折叠

    set.seed(1234)
    trainDatFolds <- 
      rsample::vfold_cv(data = trainDat, v = 5)

  • 将配方和模型规范放入工作流中

    rf_workflow <- 
      workflow() %>%
      add_recipe(rf_rec) %>%
      add_model(rf_model)

  • 然后拟合重采样。

    rf_workflow %>% 
      fit_resamples(resamples = trainDatFolds,
                    metrics = metric_set(roc_auc, pr_auc, accuracy),
                    control = control_resamples(save_pred = TRUE)
      )

就我的目的而言,能够使用非公式接口的结果〜预测器要方便得多。

没有配方步骤,如果我正在重新采样拟合,我可以轻松使用该功能 - fit_xy() 指定 y - 结果和 x - 预测器集。

这是适合重采样的选项吗?

非常感谢!

【问题讨论】:

    标签: r tidymodels


    【解决方案1】:

    没有 x/y 界面,但无需公式即可轻松到达:

    library(recipes)
    
    rec <- recipe(mtcars)
    summary(rec)
    #> # A tibble: 11 x 4
    #>    variable type    role  source  
    #>    <chr>    <chr>   <lgl> <chr>   
    #>  1 mpg      numeric NA    original
    #>  2 cyl      numeric NA    original
    #>  3 disp     numeric NA    original
    #>  4 hp       numeric NA    original
    #>  5 drat     numeric NA    original
    #>  6 wt       numeric NA    original
    #>  7 qsec     numeric NA    original
    #>  8 vs       numeric NA    original
    #>  9 am       numeric NA    original
    #> 10 gear     numeric NA    original
    #> 11 carb     numeric NA    original
    
    # now add roles
    rec <- 
      rec %>% 
      update_role(mpg, new_role = "outcome") %>% 
      update_role(-mpg, new_role = "predictor") 
    summary(rec)
    #> # A tibble: 11 x 4
    #>    variable type    role      source  
    #>    <chr>    <chr>   <chr>     <chr>   
    #>  1 mpg      numeric outcome   original
    #>  2 cyl      numeric predictor original
    #>  3 disp     numeric predictor original
    #>  4 hp       numeric predictor original
    #>  5 drat     numeric predictor original
    #>  6 wt       numeric predictor original
    #>  7 qsec     numeric predictor original
    #>  8 vs       numeric predictor original
    #>  9 am       numeric predictor original
    #> 10 gear     numeric predictor original
    #> 11 carb     numeric predictor original
    

    reprex package 创建于 2020-11-06 (v0.3.0)

    【讨论】:

    • 非常感谢,@topepo (Max!!) 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2018-10-13
    • 2013-05-19
    • 2014-02-18
    • 2015-05-01
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多