R - GBM | Обучающие модели GBM очень тяжелые - PullRequest
0 голосов
/ 12 февраля 2020

Мы используем модель GBM для обучения действительно объемных данных ~ 15 ГБ. Размер обученной модели становится огромным ~ 17 ГБ. В обученной модели мы видим данные, сохраненные вместе с деревьями и другими деталями модели, занимающими около 96% от общего размера модели.

Есть ли какое-либо использование данных в обученной модели, специально для целей прогнозирования. Мы сохраняем модель и перезагружаем модель во время прогнозирования, что занимает очень много времени.

1 Ответ

0 голосов
/ 12 февраля 2020

Если вы используете библиотеку gbm в R, то используйте gbm.fit и установите keep.data = FALSE

label = as.numeric(iris$Species=="setosa")
trn = sample(nrow(iris),100)
fit = gbm.fit(x=iris[trn,-5],y=label[trn],shrinkage =0.1,keep.data = FALSE)

Это не получится, потому что нет данных:

predict(fit,n.trees = 10,type="response")
Error in reconstructGBMdata(object) : 
  Cannot reconstruct data from gbm object. gbm() was called with keep.data=FALSE

Вы можно сделать:

predict(fit,iris[,-5],10,type="response")
predict(fit,iris[-trn,-5],10,type="response")
...