initial_split {rsample} | R Documentation |
Simple Training/Test Set Splitting
Description
initial_split
creates a single binary split of the data into a training
set and testing set. initial_time_split
does the same, but takes the
first prop
samples for training, instead of a random selection.
group_initial_split
creates splits of the data based
on some grouping variable, so that all data in a "group" is assigned to
the same split.
training
and testing
are used to extract the resulting data.
Usage
initial_split(data, prop = 3/4, strata = NULL, breaks = 4, pool = 0.1, ...)
initial_time_split(data, prop = 3/4, lag = 0, ...)
training(x, ...)
## Default S3 method:
training(x, ...)
## S3 method for class 'rsplit'
training(x, ...)
testing(x, ...)
## Default S3 method:
testing(x, ...)
## S3 method for class 'rsplit'
testing(x, ...)
group_initial_split(data, group, prop = 3/4, ..., strata = NULL, pool = 0.1)
Arguments
data |
A data frame. |
prop |
The proportion of data to be retained for modeling/analysis. |
strata |
A variable in |
breaks |
A single number giving the number of bins desired to stratify a numeric stratification variable. |
pool |
A proportion of data used to determine if a particular group is too small and should be pooled into another group. We do not recommend decreasing this argument below its default of 0.1 because of the dangers of stratifying groups that are too small. |
... |
These dots are for future extensions and must be empty. |
lag |
A value to include a lag between the assessment and analysis set. This is useful if lagged predictors will be used during training and testing. |
x |
An |
group |
A variable in |
Details
With a strata
argument, the random sampling is conducted
within the stratification variable. This can help ensure that the
resamples have equivalent proportions as the original data set. For
a categorical variable, sampling is conducted separately within each class.
For a numeric stratification variable, strata
is binned into quartiles,
which are then used to stratify. Strata below 10% of the total are
pooled together; see make_strata()
for more details.
Value
An rsplit
object that can be used with the training
and testing
functions to extract the data in each split.
Examples
set.seed(1353)
car_split <- initial_split(mtcars)
train_data <- training(car_split)
test_data <- testing(car_split)
data(drinks, package = "modeldata")
drinks_split <- initial_time_split(drinks)
train_data <- training(drinks_split)
test_data <- testing(drinks_split)
c(max(train_data$date), min(test_data$date)) # no lag
# With 12 period lag
drinks_lag_split <- initial_time_split(drinks, lag = 12)
train_data <- training(drinks_lag_split)
test_data <- testing(drinks_lag_split)
c(max(train_data$date), min(test_data$date)) # 12 period lag
set.seed(1353)
car_split <- group_initial_split(mtcars, cyl)
train_data <- training(car_split)
test_data <- testing(car_split)