crossv_kfold
将数据拆分为k
独占分区,并使用每个分区进行test-training 拆分。 crossv_mc
生成 n
随机分区,保留 test
数据用于训练。 crossv_loo
执行留一交叉验证,即 n = nrow(data)
训练分区每个包含 n - 1
行。
用法
crossv_mc(data, n, test = 0.2, id = ".id")
crossv_kfold(data, k = 5, id = ".id")
crossv_loo(data, id = ".id")
参数
- data
-
一个 DataFrame
- n
-
要生成的 test-training 对的数量(整数)。
- test
-
应保留用于测试的观测值比例(双倍)。
- id
-
为每个模型提供唯一整数 ID 的变量名称。
- k
-
折叠次数(整数)。
值
具有列 test
、 train
和 .id
的 DataFrame 。 test
和 train
是包含 resample()
对象的列表列。行数为 n
(对于 crossv_mc()
)、k
(对于 crossv_kfold()
)
和 nrow(data)
为 crossv_loo()
。
例子
cv1 <- crossv_kfold(mtcars, 5)
cv1
#> # A tibble: 5 × 3
#> train test .id
#> <named list> <named list> <chr>
#> 1 <resample [25 x 11]> <resample [7 x 11]> 1
#> 2 <resample [25 x 11]> <resample [7 x 11]> 2
#> 3 <resample [26 x 11]> <resample [6 x 11]> 3
#> 4 <resample [26 x 11]> <resample [6 x 11]> 4
#> 5 <resample [26 x 11]> <resample [6 x 11]> 5
library(purrr)
cv2 <- crossv_mc(mtcars, 100)
models <- map(cv2$train, ~ lm(mpg ~ wt, data = .))
errs <- map2_dbl(models, cv2$test, rmse)
hist(errs)
相关用法
- R modelr typical 求典型值
- R modelr resample “惰性”重采样。
- R modelr model_matrix 构建设计矩阵
- R modelr model-quality 计算给定数据集的模型质量
- R modelr permute 生成 n 个排列重复。
- R modelr fit_with 拟合公式列表
- R modelr add_residuals 将残差添加到 DataFrame
- R modelr data_grid 生成数据网格。
- R modelr formulas 创建公式列表
- R modelr add_predictions 将预测添加到 DataFrame
- R modelr seq_range 生成向量范围内的序列
- R modelr resample_partition 生成数据帧的独占分区
- R modelr add_predictors 将预测变量添加到公式中
- R modelr na.warn 处理缺失值并发出警告
- R modelr bootstrap 生成 n 个引导程序重复。
- R modelr resample_bootstrap 生成 boostrap 复制
- R vcov.gam 从 GAM 拟合中提取参数(估计器)协方差矩阵
- R gam.check 拟合 gam 模型的一些诊断
- R matrix转list用法及代码示例
- R as 强制对象属于某个类
- R null.space.dimension TPRS 未惩罚函数空间的基础
- R language-class 表示未评估语言对象的类
- R gam.reparam 寻找平方根惩罚的稳定正交重新参数化。
- R className 类名包含对应的包
- R extract.lme.cov 从 lme 对象中提取数据协方差矩阵
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Generate test-training pairs for cross-validation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。