2016-08-24 16 views
0

キャレットでのCVのための成層折り目を作成する方法は、group1とgroup2のバランスをとるために、このキャレットでrepeatedcvの階層化折り畳みを作成する方法は?

library(caret) 
library(data.table) 
train_dat <- data.table(group = c(rep("group1",10), rep("group2",5)), x1 = rnorm(15), x2 = rnorm(15), label = factor(c(rep("treatment",15), rep("control",15)))) 

folds <- createFolds(train_dat[, group], k = 5) 

fitCtrl <- trainControl(method = "cv", index = folds, classProbs = T, summaryFunction = twoClassSummary) 
train(label~., data = train_dat[, !c("group"), with = F], trControl = fitCtrl, method = "xgbTree", metric = "ROC") 

のようなものです、折り目インデックスの作成は、「グループ」の変数に基づいています。

しかし、キャレットにrepetcvのFoldsを作成する方法はありますか?ですから、私はrepeatedcvのバランスをとって分割することができます。いくつかのcreateFoldsを組み合わせてtrainControlを実行する必要がありますか?

trControl = trainControl(method = "cv", index = many_repeated_folds) 

ありがとう!

+2

、私はそれが再現可能な例なしRを使用する方法についてですので、オフトピックとして、この質問を閉じるために投票しています。 – gung

+0

コメントありがとう! @gung – user2149631

+1

私は再現可能な例を追加しました。どう思いますか? @gung – user2149631

答えて

0

createMultiFoldsは、あなたが興味を持っているものをおそらくある。

+0

こんにちは、私はこの関数がどのように "層別" – agenis

関連する問題