如何将完整数据集按 50-50 分成训练和测试数据集

How do I split the full dataset to training and test datasets by 50-50

我一直在疯狂地到处寻找这个。我发现的大多数拆分是“'if you want to split the X variable in the dataset'”。不,我需要将整个数据集(全部)拆分为 50-50 的训练和测试。 请帮忙,我是新手,不知何故绊倒了我。

假设数据集名为 DATASET。我该怎么办?

data.table 方法

library(data.table)

setDT(DATASET)

DATASET[, test := sample(0:1, nrow(DATASET), replace = T, prob = c(0.5,0.5))]

DATASET_1 <- split(DATASET, 'test')

基础 R 方法

DATASET$test <- sample(0:1, nrow(DATASET), replace = T, prob = c(0.5,0.5))

DATASET_1 <- split(DATASET, DATASET$test)

这是另一种方式:

DATASET[, train:=sample(1:.N)<.N/2]