我仔细阅读了CARET文档:http://caret.r-forge.r-project.org/training.html,小插曲,一切都很清楚(网站上的例子帮助很多!),但我仍然对此感到困惑trainControl
的两个参数之间的关系:
method
index
以及trainControl
与插入符号中的数据拆分函数之间的相互作用(例如createDataPartition
,createResample
,createFolds
和createMultiFolds
)
为了更好地构建我的问题,让我使用文档中的以下示例:
data(BloodBrain)
set.seed(1)
tmp <- createDataPartition(logBBB,p = .8, times = 100)
trControl = trainControl(method = "LGOCV", index = tmp)
ctreeFit <- train(bbbDescr, logBBB, "ctree",trControl=trControl)
我的问题是:
如果我使用createDataPartition
(我认为它确实分层自举),如上例所示,我将结果作为index
传递给trainControl
我需要吗?在我的电话LGOCV
中使用trainControl
作为方法?如果我使用另一个(例如cv
)它会有什么不同?在我的脑海中,一旦你修复index
,你基本上就选择了交叉验证的类型,所以如果你使用method
,我不确定index
扮演什么角色。
createDataPartition
和createResample
之间有什么区别?是createDataPartition
是否进行了分层自举,而createResample
却没有?
3)如何使用插入符号进行分层 k-fold(例如10倍)交叉验证?以下是否会这样做?
tmp <- createFolds(logBBB, k=10, list=TRUE, times = 100)
trControl = trainControl(method = "cv", index = tmp)
ctreeFit <- train(bbbDescr, logBBB, "ctree",trControl=trControl)
答案 0 :(得分:1)
如果您不确定使用索引时角色扮演的角色,为什么不应用所有方法并比较结果。这是一种盲目的比较方法,但它可以给你一些直觉。
methods <- c('boot', 'boot632', 'cv',
'repeatedcv', 'LOOCV', 'LGOCV')
我创建了索引:
n <- 100
tmp <- createDataPartition(logBBB,p = .8, times = n)
我将trainControl
应用于我的方法列表,并从结果中删除索引,因为它对我的所有方法都是通用的。
ll <- lapply(methods,function(x)
trControl = trainControl(method = x, index = tmp))
ll <- sapply(ll,'[<-','index', NULL)
因此我的意思是:
[,1] [,2] [,3] [,4] [,5] [,6]
method "boot" "boot632" "cv" "repeatedcv" "LOOCV" "LGOCV"
number 25 25 10 10 25 25
repeats 25 25 1 1 25 25
verboseIter FALSE FALSE FALSE FALSE FALSE FALSE
returnData TRUE TRUE TRUE TRUE TRUE TRUE
returnResamp "final" "final" "final" "final" "final" "final"
savePredictions FALSE FALSE FALSE FALSE FALSE FALSE
p 0.75 0.75 0.75 0.75 0.75 0.75
classProbs FALSE FALSE FALSE FALSE FALSE FALSE
summaryFunction ? ? ? ? ? ?
selectionFunction "best" "best" "best" "best" "best" "best"
preProcOptions List,3 List,3 List,3 List,3 List,3 List,3
custom NULL NULL NULL NULL NULL NULL
timingSamps 0 0 0 0 0 0
predictionBounds Logical,2 Logical,2 Logical,2 Logical,2 Logical,2 Logical,2