Здравствуйте и заранее спасибо. Я использую caret
для перекрестной проверки нейронной сети из пакета nnet
. В параметре method
для функции trainControl
я могу указать свой тип перекрестной проверки, но все они случайным образом выбирают наблюдения для перекрестной проверки. Могу ли я в любом случае использовать курсор для перекрестной проверки конкретных наблюдений в моих данных либо по идентификатору, либо по жестко запрограммированному параметру? Например, вот мой текущий код:
library(nnet)
library(caret)
library(datasets)
data(iris)
train.control <- trainControl(
method = "repeatedcv"
, number = 4
, repeats = 10
, verboseIter = T
, returnData = T
, savePredictions = T
)
tune.grid <- expand.grid(
size = c(2,4,6,8)
,decay = 2^(-3:1)
)
nnet.train <- train(
x = iris[,1:4]
, y = iris[,5]
, method = "nnet"
, preProcess = c("center","scale")
, metric = "Accuracy"
, trControl = train.control
, tuneGrid = tune.grid
)
nnet.train
plot(nnet.train)
Предположим, я хочу добавить еще один столбец CV_GROUP
во фрейм данных iris
, и я хочу, чтобы каретка выполняла перекрестную проверку нейронной сети по наблюдениям со значением 1
для этого столбца:
iris$CV_GROUP <- c(rep.int(0,times=nrow(iris)-20), rep.int(1,times=20))
Возможно ли это с caret
?