Его нужно делать сПараллелизм в XGBoost технике машинного обучения
реализации параллельности XGBoost
Я пытаюсь оптимизировать выполнение XGBoost, придав ему параметр nthread = 16, где моя система имеет 24 ядра. Но когда я тренирую свою модель, она, кажется, даже не пересекает примерно 20% загрузки процессора в любой момент времени, пока обучение модели. Фрагмент кода выглядит следующим образом: -
param_30 <- list("objective" = "reg:linear", # linear
"subsample"= subsample_30,
"colsample_bytree" = colsample_bytree_30,
"max_depth" = max_depth_30, # maximum depth of tree
"min_child_weight" = min_child_weight_30,
"max_delta_step" = max_delta_step_30,
"eta" = eta_30, # step size shrinkage
"gamma" = gamma_30, # minimum loss reduction
"nthread" = nthreads_30, # number of threads to be used
"scale_pos_weight" = 1.0
)
model <- xgboost(data = training.matrix[,-5],
label = training.matrix[,5],
verbose = 1, nrounds=nrounds_30, params = param_30,
maximize = FALSE, early_stopping_rounds = searchGrid$early_stopping_rounds_30[x])
Пожалуйста, объясните мне (если возможно) о том, как я могу увеличить загрузку процессора и ускорить модель подготовки для эффективного выполнения. Код в R должен быть полезен для дальнейшего понимания.
Допущение: - Речь идет о выполнении в R пакете XGBoost
Добро пожаловать на SO - Не могли бы вы предоставить [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to -make-а-большой-R-воспроизводимый-пример) – C8H10N4O2