【问题标题】:How to view cross validated resample data in r? [duplicate]如何在 r 中查看交叉验证的重采样数据? [复制]
【发布时间】:2021-09-25 05:39:04
【问题描述】:

我是 tidymodels 的新手,对 R 也很陌生。

我使用tidymodels 创建了一个recipe,它在train data 上运行良好,但在cross validated resamples 上却出现error

所以我想查看重采样,但它们不是简单的 df 格式。

train_5fold

############ result ###########

splits              id
<list>              <chr>

<S3: vfold_split>   Fold1           
<S3: vfold_split>   Fold2           
<S3: vfold_split>   Fold3           
<S3: vfold_split>   Fold4           
<S3: vfold_split>   Fold5

下载数据

https://github.com/johnsnow09/covid19-df_stack-code/blob/main/train_5fold.RDS

train_5fold <- readRDS("train_5fold.RDS")

如何查看它们??

我尝试了 pluck()、unnest_wider、unlist 等,但无法获得真正的数据框。

我还在 tidymodels 上发布了另一篇 SO 帖子,到目前为止仍未得到答复,因此尝试通过交叉检查 CV 数据进行调试

Getting error when trying to apply tidymodels recipe from train data to resamples in r?

【问题讨论】:

  • @RonakShah 如果您从 git 链接手动下载它,那么它可以完美运行

标签: r machine-learning cross-validation tidymodels


【解决方案1】:

您可以从每个splits 获取数据,lapply 为 -

df <- readRDS('train_5fold.RDS')
list_df <- lapply(df$splits, `[[`, 'data')

如果您想将它们组合到一个数据框中,请使用 res &lt;- do.call(rbind, list_df)purrr -

library(purrr)
res <- map_df(df$splits, pluck, 'data')

【讨论】:

  • 感谢@Ronak 长期以来一直在与tidymodels 苦苦挣扎,希望这会有所帮助,否则我可能会退出 tidymodels 并搬到 caret 一起以节省时间并忘记 tidymodel,因为我不这样做找不到很多社区支持tidymodels
猜你喜欢
  • 2018-09-05
  • 2023-02-24
  • 2015-09-17
  • 2015-10-29
  • 2019-10-27
  • 2023-02-03
  • 2019-10-02
  • 1970-01-01
相关资源
最近更新 更多