Ich verwende gbm
, um ein prädiktives Regressionsmodell zu erstellen. Ich habe Zug und Test-Sets (vordefiniert und NICHT zufällig ausgewählt). Im Folgenden finden Sie eine Übersicht über den Code.Nicht in der Lage, Testvorhersagen mit gbm zu reproduzieren
Ich habe rund 600 Zeilen in Zugdaten und 150 Zeilen in Testdaten. Ich weiß, dass sie sehr viel weniger sind, aber immer noch.
train <- ....
test <- ....
set.seed(123)
model <- gbm(target ~., data = train,
distribution = "gaussian",
n.trees = 4000,
interaction.depth = 2,
n.minobsinnode = 5,
shrinkage = 0.01,
bag.fraction = 1,
train.fraction = .95,
verbose = TRUE
)
best_iter <- gbm.perf(model)
set.seed(123)
predictions <- predict(model, newdata = test, n.trees = best_iter)
set.seed(123)
predictions <- predict(model, newdata = train, n.trees = best_iter)
Irgendwie, wenn ich das GBM Modell immer wieder mit genau den gleichen Parametern laufen bin ich nicht in der Lage Prognosen auf dem Testset zu reproduzieren. Aber gleichzeitig kann ich immer Vorhersagen im Zug nachbilden. Ich setze auch Samen, bevor ich das Modell baue und Vorhersagen mache. Kann mir bitte jemand helfen, herauszufinden, was passiert? Bitte beachten Sie, dass Trainings- und Testdaten immer gleich bleiben, ich ändere sie nicht bei jedem Lauf.
Schwierig, ohne Daten zu beantworten. –