我有一个连续50天左右的数据集。我想将其分为训练和测试数据集,这样一周中的每5天都在训练集中,而一周中的2天都在测试集中。
应随机选择测试集的2天。并非总是如此选择第2天。
我该怎么办?
R中对此有任何功能吗?目前,这就是我将数据划分为训练和测试集的方式,但是这样做可能是因为测试和训练的数据时间非常接近,因此总是会产生非常高的MSR值。
set.seed(100)
train <- sample(nrow(dataset1),0.7 * nrow(dataset1),replace = FALSE)
TrainSet <- dataset1[train,]
#scale (TrainSet,center = TRUE,scale = TRUE)
ValidSet <- dataset1[-train,]
#scale (ValidSet,scale = TRUE)
summary(TrainSet)
summary(ValidSet)
示例数据:
data
# timestamp var1 var2 var3 var5
#1 2018-07-20 13:40:00 12 0.00 30.12 10
#2 2018-07-20 13:45:00 12 0.10 10.15 10
#3 2018-07-20 13:50:00 2 11.00 19.22 17
#4 2018-07-20 13:55:00 22 3.05 23.31 3
dput(data)
structure(list(timestamp = c("2018-07-20 13:50:00","2018-07-20 13:52:00","2018-07-20 13:54:00","2018-07-20 13:56:00"),var1 = c(12,12,2,22),var2 = c(0,0.1,11,3.05),var3 = c(30.12,10.15,19.22,23.31),var5 = c(10L,10L,17L,3L)),class = "data.frame",row.names = c(NA,-4L))