当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。