當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


R rsample initial_validation_split 創建初始訓練/驗證/測試拆分

initial_validation_split() 創建隨機的 three-way 將數據分為訓練集、驗證集和測試集。 initial_validation_time_split() 執行相同的操作,但訓練、驗證和測試集不是隨機選擇,而是按完整數據集的順序排列,第一個觀察結果被放入訓練集中。 group_initial_validation_split() 基於某些分組變量創建類似的數據隨機分割,以便 "group" 中的所有數據都分配到同一分區。 training()validation()testing() 可用於提取結果數據集。使用 validation_set() 創建 rset 對象,以便與調整包中的函數(例如 tune::tune_grid() )一起使用。

用法

initial_validation_split(
  data,
  prop = c(0.6, 0.2),
  strata = NULL,
  breaks = 4,
  pool = 0.1,
  ...
)

initial_validation_time_split(data, prop = c(0.6, 0.2), ...)

group_initial_validation_split(
  data,
  group,
  prop = c(0.6, 0.2),
  ...,
  strata = NULL,
  pool = 0.1
)

# S3 method for initial_validation_split
training(x, ...)

# S3 method for initial_validation_split
testing(x, ...)

validation(x, ...)

# S3 method for default
validation(x, ...)

# S3 method for initial_validation_split
validation(x, ...)

參數

data

一個 DataFrame 。

prop

分別為訓練數據和驗證數據保留的數據比例的長度為 2 的向量。

strata

data 中的變量(單個字符或名稱)用於進行分層抽樣。如果不是 NULL ,則每次重新采樣都會在分層變量中創建。數字 strata 被分為四分位數。

breaks

給出對數值分層變量進行分層所需的箱數的單個數字。

pool

用於確定特定組是否太小的數據比例,是否應合並到另一個組中。我們不建議將此參數降低到默認值 0.1 以下,因為分層組太小存在危險。

...

這些點用於將來的擴展,並且必須為空。

group

data 中的變量(單個字符或名稱),用於將具有相同值的觀察結果分組到折疊內的分析或評估集。

x

initial_validation_split 的對象。

一個 initial_validation_split 對象,可與 training()validation()testing() 函數一起使用以提取每個拆分中的數據。

細節

使用 strata 參數,在分層變量內進行隨機抽樣。這有助於確保重采樣與原始數據集具有相同的比例。對於分類變量,采樣是在每個類別內單獨進行的。對於數字分層變量,strata 被分為四分位數,然後用於分層。低於總數10%的地層合並在一起;有關更多詳細信息,請參閱make_strata()

也可以看看

例子

set.seed(1353)
car_split <- initial_validation_split(mtcars)
train_data <- training(car_split)
validation_data <- validation(car_split)
test_data <- testing(car_split)

data(drinks, package = "modeldata")
drinks_split <- initial_validation_time_split(drinks)
train_data <- training(drinks_split)
validation_data <- validation(drinks_split)
c(max(train_data$date), min(validation_data$date))
#> [1] "2007-05-01" "2007-06-01"

data(ames, package = "modeldata")
set.seed(1353)
ames_split <- group_initial_validation_split(ames, group = Neighborhood)
train_data <- training(ames_split)
validation_data <- validation(ames_split)
test_data <- testing(ames_split)

相關用法


注:本文由純淨天空篩選整理自Hannah Frick等大神的英文原創作品 Create an Initial Train/Validation/Test Split。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。