いくつかのランダムなパラメーター設定で4500のランダムフォレストを夜間実行しました。
回帰問題Ysignal = x1^2+sin(x2*pi) + x3 * x4 + x5
いずれかがx正規分布からの独立したサンプリングされ、平均値SD = 1、= 1
Ytotal = Ysignal + Yerror
どこ Yerror = rnorm(n.observations,sd=sd(Ysignal))*noise.factor
theoretical.explainable.variance"TEV" = var(Ysignal= / var(Ytotal)
randomForest.performance = explained.variance(OOB cross-validation) / TEV
データセットは回帰問題からサンプリングされ、追加されたノイズ
n.obsはn.extra.dummy.variables1〜20の間の1000〜5000の間の乱数でした。
ntree 常に1000
sample_replacement 常に true
mtry5〜25でn.obs
noise.factor、0〜9 に制限されます
samplesize.ratio 10%〜100%の乱数、各ブートストラップの比率サイズ
すべてのモデルは次のように訓練されました rfo = randomForest(x=X, y=Ytotal, <more args>)
、が50%未満の場合は低下し、50%を超える場合は低下する場合、一般に増加のrandomForest.performance最高割合を説明する能力。TEVsamplesizeTEVTEV
したがって、あなたの randomForest-modelfitレポートで、たとえば15%がOOB-CVによる分散を説明し、これが許容できるモデル精度である場合、おそらく、パフォーマンスを少し下げることができます。sampsize、与えられntree > 1000た観測数の3分の1に。
士気:非常にノイズの多いデータの場合、最大サイズのツリーを成長させてバイアスを下げるよりも、ツリーの相関を解除する方が適切です。