私は要因のために32レベルのrandomForestのパッケージ制限を回避しようとしています。randomForestを回避するためのRサンプリング32ファクタの制限
私は、因子変数の1つに100レベルのデータセットを持っています。
サンプリングをに置き換え、選択したレベルの特定の%を取得するのに必要な試行回数を使用して、どのように見えるかを確認するために次のコードを書きました。
sampAll <- c()
nums1 <- seq(1,102,1)
for(i in 1:20){
samp1 <- sample(nums1, 32)
sampAll <- unique(cbind(sampAll, samp1))
outSamp1 <- nums1[-(sampAll[,1:ncol(sampAll)])]
print(paste(i, " | Remaining: ",length(outSamp1)/102,sep=""))
flush.console()
}
[1] "1 | Remaining: 0.686274509803922"
[1] "2 | Remaining: 0.490196078431373"
[1] "3 | Remaining: 0.333333333333333"
[1] "4 | Remaining: 0.254901960784314"
[1] "5 | Remaining: 0.215686274509804"
[1] "6 | Remaining: 0.147058823529412"
[1] "7 | Remaining: 0.117647058823529"
[1] "8 | Remaining: 0.0980392156862745"
[1] "9 | Remaining: 0.0784313725490196"
[1] "10 | Remaining: 0.0784313725490196"
[1] "11 | Remaining: 0.0490196078431373"
[1] "12 | Remaining: 0.0294117647058824"
[1] "13 | Remaining: 0.0196078431372549"
[1] "14 | Remaining: 0.00980392156862745"
[1] "15 | Remaining: 0.00980392156862745"
[1] "16 | Remaining: 0.00980392156862745"
[1] "17 | Remaining: 0.00980392156862745"
[1] "18 | Remaining: 0"
[1] "19 | Remaining: 0"
[1] "20 | Remaining: 0"
私が議論しているのは、置換の有無にかかわらずサンプルするかどうかです。ランダムフォレストと で設定したテストを予測するランダムフォレストを実行するために、これらの行を使用して
- 100の要因の32のサンプルを取得し、
- 、
- :私は考えている
- このプロセスを(a)3(置換なし)または(b)10-15回(置換あり)のいずれかで繰り返す。
- 3または10-15個の予測値をとり、平均を求めて最終的な予測子として使用します。
誰かがこのようなことを試したことがあるのか、私がルールを破っているか(バイアスを導入しているなど)、誰かが何か提案があれば、私は不思議です。
注:この質問は、Stats-Overflow/Cross-Validatedでもクロスポストしました。
クロスサイトデュープとしてクローズ:http://stats.stackexchange.com/questions/20731/sampling-to-get-around-randomforests-32-factor-level-limit – casperOne