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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。