引导样本是使用替换方法生成的与原始数据集大小相同的样本。这会导致分析样本具有某些原始数据行的多个重复项。评估集定义为未包含在引导样本中的原始数据行。这通常称为 "out-of-bag" (OOB) 示例。
参数
- data
-
一个 DataFrame 。
- times
-
引导样本的数量。
- strata
-
data
中的变量(单个字符或名称)用于进行分层抽样。如果不是NULL
,则每次重新采样都会在分层变量中创建。数字strata
被分为四分位数。 - breaks
-
给出对数值分层变量进行分层所需的箱数的单个数字。
- pool
-
用于确定特定组是否太小的数据比例,是否应合并到另一个组中。我们不建议将此参数降低到默认值 0.1 以下,因为分层组太小存在危险。
- apparent
-
一个合乎逻辑的。如果分析和保留子集是整个数据集,是否应该添加额外的重新采样。对于
summary
函数使用的一些需要表观错误率的估计器来说,这是必需的。 - ...
-
这些点用于将来的扩展,并且必须为空。
值
带有类 bootstraps
、 rset
、 tbl_df
、 tbl
和 data.frame
的 tibble。结果包括数据分割对象的列和名为 id
的列,其中包含带有重采样标识符的字符串。
细节
参数 apparent
启用附加 "resample" 的选项,其中分析和评估数据集与原始数据集相同。这对于某些类型的引导结果分析可能是必需的。
使用 strata
参数,在分层变量内进行随机抽样。这有助于确保重采样与原始数据集具有相同的比例。对于分类变量,采样是在每个类别内单独进行的。对于数字分层变量,strata
被分为四分位数,然后用于分层。低于总数10%的地层合并在一起;有关更多详细信息,请参阅make_strata()
。
例子
bootstraps(mtcars, times = 2)
#> # Bootstrap sampling
#> # A tibble: 2 × 2
#> splits id
#> <list> <chr>
#> 1 <split [32/10]> Bootstrap1
#> 2 <split [32/15]> Bootstrap2
bootstraps(mtcars, times = 2, apparent = TRUE)
#> # Bootstrap sampling with apparent sample
#> # A tibble: 3 × 2
#> splits id
#> <list> <chr>
#> 1 <split [32/11]> Bootstrap1
#> 2 <split [32/13]> Bootstrap2
#> 3 <split [32/32]> Apparent
library(purrr)
library(modeldata)
data(wa_churn)
set.seed(13)
resample1 <- bootstraps(wa_churn, times = 3)
map_dbl(
resample1$splits,
function(x) {
dat <- as.data.frame(x)$churn
mean(dat == "Yes")
}
)
#> [1] 0.2798523 0.2639500 0.2648019
set.seed(13)
resample2 <- bootstraps(wa_churn, strata = churn, times = 3)
map_dbl(
resample2$splits,
function(x) {
dat <- as.data.frame(x)$churn
mean(dat == "Yes")
}
)
#> [1] 0.2653699 0.2653699 0.2653699
set.seed(13)
resample3 <- bootstraps(wa_churn, strata = tenure, breaks = 6, times = 3)
map_dbl(
resample3$splits,
function(x) {
dat <- as.data.frame(x)$churn
mean(dat == "Yes")
}
)
#> [1] 0.2625302 0.2659378 0.2696294
相关用法
- R rsample validation_set 创建验证拆分以进行调整
- R rsample initial_split 简单的训练/测试集分割
- R rsample populate 添加评估指标
- R rsample int_pctl 自举置信区间
- R rsample vfold_cv V 折交叉验证
- R rsample rset_reconstruct 使用新的 rset 子类扩展 rsample
- R rsample group_mc_cv 小组蒙特卡罗交叉验证
- R rsample group_vfold_cv V 组交叉验证
- R rsample rolling_origin 滚动原点预测重采样
- R rsample reverse_splits 反转分析和评估集
- R rsample group_bootstraps 团体自举
- R rsample labels.rset 从 rset 对象中查找标签
- R rsample get_fingerprint 获取重采样的标识符
- R rsample validation_split 创建验证集
- R rsample reg_intervals 具有线性参数模型的置信区间的便捷函数
- R rsample clustering_cv 集群交叉验证
- R rsample initial_validation_split 创建初始训练/验证/测试拆分
- R rsample get_rsplit 从 rset 中检索单个 rsplit 对象
- R rsample loo_cv 留一交叉验证
- R rsample complement 确定评估样本
- R rsample slide-resampling 基于时间的重采样
- R rsample as.data.frame.rsplit 将 rsplit 对象转换为 DataFrame
- R rsample labels.rsplit 从 rsplit 对象中查找标签
- R rsample mc_cv 蒙特卡罗交叉验证
- R rsample tidy.rsplit 整洁的重采样对象
注:本文由纯净天空筛选整理自Hannah Frick等大神的英文原创作品 Bootstrap Sampling。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。