gpt4 book ai didi

r - 插入符。数据分割与trainControl的关系

转载 作者:行者123 更新时间:2023-11-30 08:22:26 26 4
gpt4 key购买 nike

我已仔细阅读CARET文档位于:http://caret.r-forge.r-project.org/training.html 、小插图,一切都很清楚(网站上的示例有很大帮助!),但我仍然对 trainControl 的两个参数之间的关系感到困惑:

method 
index

以及trainControl和插入符号中的数据分割函数之间的相互作用(例如createDataPartitioncreateResamplecreateFoldscreateMultiFolds)

为了更好地提出我的问题,让我使用文档中的以下示例:

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)

我的问题是:

  1. 如果我使用 createDataPartition (我假设它会进行分层引导),如上面的示例所示,并且我将结果作为 index 传递给 trainControl 我是否需要使用 LGOCV 作为调用 trainControl 中的方法?如果我使用另一种(例如 cv),会有什么不同?在我看来,一旦修复了 index,您实际上就是在选择交叉验证的类型,所以我不确定如果您使用 index,method 会扮演什么角色.

  2. createDataPartitioncreateResample 之间有什么区别?是不是 createDataPartition 进行了分层引导,而 createResample 则没有?

3) 如何使用插入符进行分层 k 倍(例如 10 倍)交叉验证?下面的可以做到吗?

tmp <- createFolds(logBBB, k=10, list=TRUE,  times = 100)
trControl = trainControl(method = "cv", index = tmp)
ctreeFit <- train(bbbDescr, logBBB, "ctree",trControl=trControl)

最佳答案

如果您不确定方法在使用索引时起什么作用,为什么不应用所有方法并比较结果。这是一种盲目的比较方法,但它可以给你一些直觉。

  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)

因此我的 ll 是:

                 [,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

关于r - 插入符。数据分割与trainControl的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14968874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com