Проблемы с памятью в R при запуске моделей в карете - PullRequest
0 голосов
/ 24 апреля 2020

Я новичок в R и пытаюсь сгенерировать предсказания переменной "да" / "нет", используя модель ансамбля. Для этого я использую caret для генерации прогнозов, используя случайный лес (ranger), модель LASSO (glmnet) и дерево регрессии с градиентным усилением (xgblinear). Мой набор данных содержит около 600 тыс. Наблюдений и 500 переменных (смесь непрерывных и двоичных переменных весом 322 МБ), из которых я использую 30% для обучения моделей.

Вот код, который я использую для этого:

train_control_final <- trainControl(method = "none", savePredictions = TRUE, allowParallel = T, classProbs = TRUE,summaryFunction = twoClassSummary)

rff_final <- train(training_y~., data = training_final, method = "ranger", 
                       tuneGrid = rfgrid_final, num.trees = 250, metric = "ROC", sample.fraction = 0.1,
                       replace = TRUE, trControl=train_control_final, maximize = FALSE, na.action = na.omit)

rboost_final <- train(training_y~., data = training_final, method = "xgbLinear", 
                          tuneGrid = boostgrid_final, metric = "ROC", subsample = 0.1,
                          trControl=train_control_final, maximize = FALSE, na.action = na.omit)

rlasso_final <- train(training_y~., data = training_final, method = "glmnet", 
                          tuneGrid = lassogrid_final, metric = "ROC",
                          trControl=train_control_final, maximize = FALSE, na.action = na.omit)

На первом шаге я использую разные 10% выборки для настройки параметров для каждой модели (используя 3- сверните CV), с результатами, сохраненными в rf / lasso / boostgrid_final (для этого я использую ту же структуру кода).

Проблема в том, что каждый раз, когда я запускаю этот код для генерации прогнозов, R вылетает, потому что проблем с памятью. Код работает без проблем при настройке параметров и включении меньшего количества переменных (около 60). Поэтому мой вопрос: что я могу попытаться сделать, чтобы это работало с полным набором данных? Или есть альтернативный способ выполнения sh того, что я хочу (генерировать прогнозы, используя эти три различных алгоритма), не сталкиваясь с проблемами с памятью?

Заранее большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...