私は現在、randomForestモデルで作業しています。私の設定では、高いノードサイズの値がクロス検証を使用して優れた設定であることを認識しています。R randomForestのノードサイズに対する副作用?
しかし、私は奇妙な何かを実現しました。 nodesize = nrow(データ)について
library(randomForest)
library(data.table)
set.seed(1)
n = 10
sigma = 0.4
X = runif(n)
Y = runif(n)
Z = X^2+X*Y+Y+sigma*rnorm(n)
Data = data.table(X,Y,Z)
model = randomForest(formula = as.formula('Z ~ X + Y'),data = Data,mtry = 1,tree= 500,nodesize = n+4,do.trace = TRUE)
pred = predict(model,Data)
print(pred)
1.041549 1.036075 1.266310 1.324197 1.308377 1.480041 1.691081 1.752463 1.203856 1.306943
+5
library(randomForest)
library(data.table)
set.seed(1)
n = 10
sigma = 0.4
X = runif(n)
Y = runif(n)
Z = X^2+X*Y+Y+sigma*rnorm(n)
Data = data.table(X,Y,Z)
model = randomForest(formula = as.formula('Z ~ X + Y'),data = Data,mtry = 1,tree= 500,nodesize = n+5,do.trace = TRUE)
pred = predict(model,Data)
print(pred)
1.330427 1.330427 1.330427 1.330427 1.330427 1.330427 1.330427 1.330427 1.330427 1.330427
:nodesize = nrow(データ)+4について
:ここ
コードのreproduicible片でありますノードサイズ= n + 5からの任意の観測について同じである。
これはn(n = 20000も)の任意の値の場合です。
私にとって、nodesizeは、分割が実行されるためにノード内のレコードの最小数です。つまり、レコードがn個ある場合は、n + 4回の観測をサンプリングしてツリーを成長させるということです。したがって、nodesize> n + 4の場合、分割は実行されず、ツリーはグローバルな手段を返します。そのため、同じ予測がすべての観測に起因するのはこのためです。それは意味がありますか?元のデータセットから抽出されるサンプルの数を示すパラメータはありますか?事前に
おかげ
Nodesizeは、ノードをさらに分割するのに必要なサイズではなく、端末ノードの最小サイズです。 nodesizeが
MorganBall