Zrobiłem zacząć tworzyć pewne zestawy treningowe i testowe stosując 10-krotny oceny krzyżowej na sztucznej zbiorze:warstwowy 10 krotnie krzyż walidacja
rows <- 1000
X1<- sort(runif(n = rows, min = -1, max =1))
occ.prob <- 1/(1+exp(-(0.0 + 3.0*X1)))
true.presence <- rbinom(n = rows, size = 1, prob = occ.prob)
# combine data as data frame and save
data <- data.frame(X1, true.presence)
id <- sample(1:10,nrow(data),replace=TRUE)
ListX <- split(data,id)
fold1 <- data[id==1,]
fold2 <- data[id==2,]
fold3 <- data[id==3,]
fold4 <- data[id==4,]
fold5 <- data[id==5,]
fold6 <- data[id==6,]
fold7 <- data[id==7,]
fold8 <- data[id==8,]
fold9 <- data[id==9,]
fold10 <- data[id==10,]
trainingset <- subset(data, id %in% c(2,3,4,5,6,7,8,9,10))
testset <- subset(data, id %in% c(1))
jestem po prostu zastanawiasz się, czy istnieją prostsze sposoby, aby to osiągnąć i jak Mogłabym wykonać warstwowe crossvalidation, które zapewnia, że klasa priors (true.presence) jest mniej więcej taka sama we wszystkich fałdach?
może być łatwiejsze w użyciu kilka fabrycznie wbudowane funkcje, jak w 'errorest' ** pakiet ipred **. – joran
Dzięki temu doszedłem do tego, ale nie jestem pewien, jak z niego korzystać. Jeśli mógłbyś być tak miły i napisać odpowiedź, zaakceptuję to. Należy pamiętać, że nie chcę używać formuły i modelu itp. Chcę tylko podzielić (tj. Utworzyć 10 zestawów treningowych/testowych). Dzięki. – cs0815
Jeśli chcesz tylko fałdy, ** ipred ** prawdopodobnie nie pomoże wiele. Jestem pewien, że musi istnieć paczka z funkcją, która gdzieś to robi, ale w międzyczasie dodałem odpowiedź z kodem. – joran