我想要做的是在完全控制火车和测试装置的情况下运行caret
。为此,我创建了如下训练指数:
> trainIndex <- createDataPartition(iris$Species, p=0.75, list=FALSE);
现在我要做的是,对于k
到1
的每个5
,训练数据上的knn
模型,然后对其余模型进行测试。据我了解,index
和indexOut
参数控制着。
我尝试运行以下代码:
library(caret)
data(iris)
trainIndex <- createDataPartition(iris$Species, p=0.75, list=FALSE);
train(Species~., data=iris, method='knn',
tuneGrid=data.frame(k=1:5),
trControl=trainControl(method='boot', index=list(Resample1=trainIndex[,]),
indexOut=list(Resample1=setdiff(1:150, trainIndex[,])), savePredictions = TRUE))
但是它返回了一个错误:
Error in train.default(x, y, weights = w, ...) : Stopping
In addition: Warning messages:
1: In eval(expr, envir, enclos) :
model fit failed for Resample1: k=1 Error in x[modelIndex, , drop = FALSE] : subscript out of bounds
任何人都可以向我解释我做错了什么吗?我无法绕过我的错误。