2017-09-23 4 views
0

R- への初心者の合計BRTからいくつかの限界プロットを作成しようとしていますが、gbmパッケージで完成しました。 以下は私のコードです。 boosted.tree_LRFFは、私はちょうどこの最初のセクションではgbm.fitplot.gbmを使用して余白プロットを作成するときにエラーが発生する

> plot.gbm(boosted.tree_LRFF, 
+   i.var= 5, 
+   n.trees = train.model$finalModel$tuneValue$n.trees, 
+   continuous.resolution = 100, 
+   return.grid = FALSE, 
+   type = "link") 
Error in plot.window(...) : need finite 'ylim' values 
In addition: Warning messages: 
1: In min(x) : no non-missing arguments to min; returning Inf 
2: In max(x) : no non-missing arguments to max; returning -Inf 
+0

ご確認ください:https://stackoverflow.com/help/mcve –

答えて

0

を完了することから得た出力である再作成するパッケージの「gbm.pdf」からGBMに合わせて使用​​されるデータセット:

library(gbm) 
N <- 1000 
X1 <- runif(N) 
X2 <- 2 * runif(N) 
X3 <- ordered(sample(letters[1:4], N, replace = TRUE), levels = letters[4:1]) 
X4 <- factor(sample(letters[1:6], N, replace = TRUE)) 
X5 <- factor(sample(letters[1:3], N, replace = TRUE)) 
X6 <- 3 * runif(N) 
mu <- c(-1, 0, 1, 2)[as.numeric(X3)] 
SNR <- 10 # signal-to-noise ratio 
Y <- X1 ** 1.5 + 2 * (X2 ** .5) + mu 
sigma <- sqrt(var(Y)/SNR) 
Y <- Y + rnorm(N, 0, sigma) 
# introduce some missing values 
X1[sample(1:N, size = 500)] <- NA 
X4[sample(1:N, size = 300)] <- NA 
data <- data.frame(Y = Y, X1 = X1, X2 = X2, X3 = X3, X4 = X4, X5 = X5, X6 = X6) 

boosted.tree_LRFF <- 
gbm(Y ~ X1 + X2 + X3 + X4 + X5 + X6, 
data = data, 
var.monotone = c(0, 0, 0, 0, 0, 0), 
distribution = "gaussian", 
n.trees = 1000, 
shrinkage = 0.05, 
interaction.depth = 3, 
bag.fraction = 0.5, 
train.fraction = 0.5, 
n.minobsinnode = 10, 
cv.folds = 3, 
keep.data = TRUE, 
verbose = FALSE, 
n.cores = 1) 

今私はあなたのプロットに似た変数X5のための木の関数値をプロットします

plot(boosted.tree_LRFF, 
i.var = 5, 
n.trees = boosted.tree_LRFF$n.trees, 
continuous.resolution = 100, 
return.grid = FALSE, 
type = "link") 

私はあなたのエラーがn.trees引数が原因だと思います。定数として入力することも、GBMの適合オブジェクトから入力することもできます。私の例では、 "boosted.tree_LRFF"から使用しましたが、これはあなたの例に当てはまる元のオブジェクトの名前に見えます(もちろん私のデータは異なります)。

関連する問題