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


R rsample validation_split 創建驗證集

[Deprecated]

此函數已棄用,因為它是通過執行一係列兩個二進製分割來構建訓練、驗證和測試集的方法的一部分:測試/not-testing(使用initial_split()或其變體之一),然後not-testing使用 validation_split() 分為訓練/驗證。相反,現在使用 initial_validation_split() 或其變體通過一個 3 路拆分構建三個集合。

validation_split() 采用原始數據集的單個隨機樣本(無替換)用於分析。所有其他數據點都添加到評估集(用作驗證集)。 validation_time_split() 執行相同操作,但采用第一個 prop 樣本進行訓練,而不是隨機選擇。 group_validation_split() 根據某些分組變量創建數據拆分,以便將 "group" 中的所有數據分配給同一拆分。

請注意,輸入 datavalidation_split()validation_time_split()group_validation_split() 不應包含測試數據。要直接創建整個數據集的 three-way 分割,請使用 initial_validation_split()

用法

validation_split(data, prop = 3/4, strata = NULL, breaks = 4, pool = 0.1, ...)

validation_time_split(data, prop = 3/4, lag = 0, ...)

group_validation_split(data, group, prop = 3/4, ..., strata = NULL, pool = 0.1)

參數

data

一個 DataFrame 。

prop

為建模/分析而保留的數據比例。

strata

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

breaks

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

pool

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

...

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

lag

包含評估和分析集之間的滯後的值。如果在訓練和測試期間使用滯後預測變量,這非常有用。

group

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

帶有類 validation_splitrsettbl_dftbldata.frame 的 tibble。結果包括數據分割對象的列和名為 id 的列,其中包含帶有重采樣標識符的字符串。

細節

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

例子

cars_split <- initial_split(mtcars)
cars_not_testing <- training(cars_split)
validation_split(cars_not_testing, prop = .9)
#> Warning: `validation_split()` was deprecated in rsample 1.2.0.
#> ℹ Please use `initial_validation_split()` instead.
#> # Validation Set Split (0.9/0.1)  
#> # A tibble: 1 × 2
#>   splits         id        
#>   <list>         <chr>     
#> 1 <split [21/3]> validation
group_validation_split(cars_not_testing, cyl)
#> Warning: `group_validation_split()` was deprecated in rsample 1.2.0.
#> ℹ Please use `group_initial_validation_split()` instead.
#> # Group Validation Set Split (0.75/0.25)  
#> # A tibble: 1 × 2
#>   splits         id        
#>   <list>         <chr>     
#> 1 <split [15/9]> validation

data(drinks, package = "modeldata")
validation_time_split(drinks[1:200,])
#> Warning: `validation_time_split()` was deprecated in rsample 1.2.0.
#> ℹ Please use `initial_validation_time_split()` instead.
#> # Validation Set Split (0.75/0.25)  
#> # A tibble: 1 × 2
#>   splits           id        
#>   <list>           <chr>     
#> 1 <split [150/50]> validation

# Alternative
cars_split_3 <- initial_validation_split(mtcars)
validation_set(cars_split_3)
#> # A tibble: 1 × 2
#>   splits         id        
#>   <list>         <chr>     
#> 1 <split [19/6]> validation

相關用法


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