你好,首先感谢您的提问。我正在使用caret
来交叉验证来自nnet
包的神经网络。在trainControl
函数的method
参数中,我可以指定我的交叉验证类型,但是所有这些类型都会随机选择观测值来进行交叉验证。是否有任何方法可以使用caret对我数据中的特定观测进行交叉验证,无论是通过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)
假设我想向数据框
iris
添加另一列CV_GROUP
,并且我希望caret在对具有该列值为1
的观测进行神经网络交叉验证时使用它:iris$CV_GROUP <- c(rep.int(0,times=nrow(iris)-20), rep.int(1,times=20))
这是否可以使用
caret
实现?