15

CARETのドキュメント ( http://caret.r-forge.r-project.org/training.html ) とビネットを注意深く読みましたが、すべてが非常に明確です (Web サイトの例は非常に役立ちます!)。への2つの引数の関係について、私はまだ混乱していますtrainControl:

method 
index

trainControlとキャレット内のデータ分割関数の間の相互作用(例: createDataPartitioncreateResamplecreateFoldsおよび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)

私の質問は次のとおりです。

  1. createDataPartition上記の例のように (階層化されたブートストラップを行うと仮定します) を使用し、結果を do として渡すと、index呼び出しtrainControlLGOCVメソッドとして使用する必要がありますtrainControlか? 別のものを使用した場合 (例cv) どのような違いがありますか? 私の頭の中では、 を修正するindexと、基本的に交差検証の種類を選択することになりmethodますindex

  2. createDataPartitionとはどう違いcreateResampleますか?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)
4

1 に答える 1

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)

したがって、私の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
于 2013-02-20T00:09:05.533 に答える