Bazı rastgele parametre ayarları ile gece boyunca 4500 rastgele orman çalıştırdım:
Regresyon sorun Ysignal = x1^2+sin(x2*pi) + x3 * x4 + x5
herhangi xbir normal dağılımdan bağımsız olarak örneklenir, ortalama SD = 1, = 1
Ytotal = Ysignal + Yerror
nerede 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
veri kümeleri regresyon probleminden örneklenmiştir ve eklenen gürültü
n.obs1000 ile 5000 n.extra.dummy.variablesarasında 1 ile 20 arasında rastgele bir sayıdır.
ntree her zaman 1000
sample_replacement her zaman true
mtry5 ile 25 n.obs
noise.factorarasındadır, 0 ile 9 arasında sınırlıdır
samplesize.ratio % 10 ile% 100 arasında rastgele bir sayı, her bir önyüklemenin oran boyutu
tüm modeller rfo = randomForest(x=X, y=Ytotal, <more args>)
randomForest.performance, en yüksek kısmını açıklamaya kabiliyeti TEVzaman genel olarak artar samplesizedüşürdüğünde TEV% 50'den az olduğunda ve azaltmak TEV% 50 daha yüksektir.
Bu nedenle, randomForest-modelfitraporlarınız örneğin% 15'i OOB-CV tarafından varyansı açıkladıysa ve bu sizin için kabul edilebilir bir model hassasiyeti ise sampsize, verilen gözlemlerin üçte birine inerek muhtemelen performansı biraz daha fazla ayarlayabilirsiniz ntree > 1000.
Moral : Çok gürültülü veriler için, azami büyüklükteki ağaçlar yetiştirerek ağaçların korelasyonunu azaltmak önyargıları azaltmaktan daha iyidir.