こんにちは、よろしくお願いします。パッケージcaret
からニューラルネットワークを交差検証するために使用しています。nnet
関数のmethod
パラメーターではtrainControl
、交差検証の種類を指定できますが、これらはすべて、交差検証する観測をランダムに選択します。とにかくキャレットを使用して、ID またはハードコードされたパラメーターのいずれかによって、データ内の特定の観測値を相互検証できますか? たとえば、私の現在のコードは次のとおりです。
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
ですか?