ランダム フォレスト (dim: 47600811*9) の膨大なトレーニング データがあります。複数の (1000 としましょう) 次元 10000*9 のブートストラップ サンプル (実行ごとに 9000 のネガティブ クラスと 1000 のポジティブ クラスのデータポイントを取得) を取得し、それらすべてのツリーを繰り返し生成してから、それらすべてのツリーを 1 つのフォレストに結合します。必要なコードの大まかなアイデアを以下に示します。実際のtrainDataから置換を使用してランダムサンプルを生成し、それらのツリーを最適に繰り返し生成する方法を教えてもらえますか? とても助かります。ありがとう
library(doSNOW)
library(randomForest)
cl <- makeCluster(8)
registerDoSNOW(cl)
for (i=1:1000){
B <- 1000
U <- 9000
dataB <- trainData[sample(which(trainData$class == "B"), B,replace=TRUE),]
dataU <- trainData[sample(which(trainData$class == "U"), U,replace=TRUE),]
subset <- rbind(dataB, dataU)
実際のtrainDataからサブセットを何度も(1000回)生成する最適な方法であるかどうかはわかりません。
rf <- foreach(ntree=rep(125, 8), .packages='randomForest') %dopar% {
randomForest(subset[,-1], subset$class, ntree=ntree)
}
}
crf <- do.call('combine', rf)
print(crf)
stopCluster(cl)