蒙特卡洛交叉驗證的一次重采樣采用原始數據集的隨機樣本(無替換)用於分析。所有其他數據點都添加到評估集中。
參數
- data
-
一個 DataFrame 。
- prop
-
為建模/分析而保留的數據比例。
- times
-
重複采樣的次數。
- strata
-
data
中的變量(單個字符或名稱)用於進行分層抽樣。如果不是NULL
,則每次重新采樣都會在分層變量中創建。數字strata
被分為四分位數。 - breaks
-
給出對數值分層變量進行分層所需的箱數的單個數字。
- pool
-
用於確定特定組是否太小的數據比例,是否應合並到另一個組中。我們不建議將此參數降低到默認值 0.1 以下,因為分層組太小存在危險。
- ...
-
這些點用於將來的擴展,並且必須為空。
細節
使用 strata
參數,在分層變量內進行隨機抽樣。這有助於確保重采樣與原始數據集具有相同的比例。對於分類變量,采樣是在每個類別內單獨進行的。對於數字分層變量,strata
被分為四分位數,然後用於分層。低於總數10%的地層合並在一起;有關更多詳細信息,請參閱make_strata()
。
例子
mc_cv(mtcars, times = 2)
#> # Monte Carlo cross-validation (0.75/0.25) with 2 resamples
#> # A tibble: 2 × 2
#> splits id
#> <list> <chr>
#> 1 <split [24/8]> Resample1
#> 2 <split [24/8]> Resample2
mc_cv(mtcars, prop = .5, times = 2)
#> # Monte Carlo cross-validation (0.5/0.5) with 2 resamples
#> # A tibble: 2 × 2
#> splits id
#> <list> <chr>
#> 1 <split [16/16]> Resample1
#> 2 <split [16/16]> Resample2
library(purrr)
data(wa_churn, package = "modeldata")
set.seed(13)
resample1 <- mc_cv(wa_churn, times = 3, prop = .5)
map_dbl(
resample1$splits,
function(x) {
dat <- as.data.frame(x)$churn
mean(dat == "Yes")
}
)
#> [1] 0.2709458 0.2621414 0.2632775
set.seed(13)
resample2 <- mc_cv(wa_churn, strata = churn, times = 3, prop = .5)
map_dbl(
resample2$splits,
function(x) {
dat <- as.data.frame(x)$churn
mean(dat == "Yes")
}
)
#> [1] 0.2652655 0.2652655 0.2652655
set.seed(13)
resample3 <- mc_cv(wa_churn, strata = tenure, breaks = 6, times = 3, prop = .5)
map_dbl(
resample3$splits,
function(x) {
dat <- as.data.frame(x)$churn
mean(dat == "Yes")
}
)
#> [1] 0.2636364 0.2599432 0.2576705
相關用法
- R rsample manual_rset 手動重采樣
- R rsample make_splits 分割對象的構造函數
- R rsample make_strata 創建或修改分層變量
- 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 bootstraps 引導抽樣
- 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 基於時間的重采樣
注:本文由純淨天空篩選整理自Hannah Frick等大神的英文原創作品 Monte Carlo Cross-Validation。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。