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


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