r - 在 tidymodels 中从 rsample 实现 loo_cv

标签 r cross-validation tidymodels

我是 tidymodels 语法的新手,想在 tidymodel 框架中使用来自 rsample 的 loo_cv 实现留一法交叉验证。但是,实现似乎与 vfold_cv 不同,我找不到任何实现 loo_cv 的有用示例。是的,我已经查看了帮助页面中的示例

我想从 fit_resamples() 帮助页面中模拟类似的工作流类型,但我找不到 loo_cv 的类似示例。使用 loo_cv 修改以下代码通知我 fit_resamples 不支持 loo_cv 但我不知道什么支持它。我假设正确的解决方案将涉及 fit_split() 但我也无法让它工作。尽管我认为解决方案会非常简单,但我已经谷歌搜索并生成错误消息数小时。提前感谢您的指导!

folds <- vfold_cv(mtcars, v = 5)
#folds <- loo_cv(mtcars) # generates error message with fit_resamples()
spline_rec <- recipe(mpg ~ ., data = mtcars) %>%
step_ns(disp) %>%
step_ns(wt)

lin_mod <- linear_reg() %>%
set_engine("lm")

control <- control_resamples(save_pred = TRUE)

spline_res <- fit_resamples(lin_mod, spline_rec, folds, control = control)

spline_res %>% 
collect_predictions

最佳答案

我们并不真正支持 tidymodels 中的 LOO。这是一种相当不推荐使用的方法,您最好使用 bootstrap 或多次重复 10 倍 CV。

我们将来可能会使用它,但从支持的角度来看,该方法的开销相当高(因为它的行为不同于所有其他方法)。我们现在宁愿花时间研究其他缺失的功能。

关于r - 在 tidymodels 中从 rsample 实现 loo_cv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62844003/

相关文章:

python - 具有显示标准偏差的 n 重交叉验证的精确召回曲线

r - 使用 embed 在 tidymodels 框架中进行目标编码

r - 使用 tidymodel 的 GLM 系列

split - 为什么我们应该在将 StratifiedKFold() 作为 GridSearchCV 的参数传递时调用 split() 函数?

r - 将变量重要性图集成到整洁的建模框架中

r - 在 Prolog 中使用嵌入式 R 工具

r - 如何绘制函数的概率密度函数?

r - 使用R中的逻辑回归模型进行预测时出错

r - 了解 R 中的 paste0

python - python 中的 KFold 究竟做了什么?