Как сохранить лучшую итерацию и моделировать гиперпараметры, чтобы продолжить обучение со временем с LightGBM - PullRequest
0 голосов
/ 20 июня 2019

Я тренирую модель LightGBM со следующим набором параметров:

early_stopping = 15000
param_grid = {'boosting_type': ['gbdt', 'dart', 'goss'],
               'num_leaves': np.round(np.random.uniform(20,150, 30)).astype(int),
               'learning_rate': loguniform(np.log(0.01), np.log(0.5), 10),
               'subsample_for_bin': np.round(np.random.uniform(20000, 300000, 20000)).astype(int),
               'min_child_samples': np.round(np.random.uniform(20, 500, 5)).astype(int),
               'reg_alpha': np.random.uniform(0.0, 1.0, 10),
               'reg_lambda': np.random.uniform(0.0, 1.0, 10),
               'colsample_bytree': np.random.uniform(0.6, 1.0, 10),
               'is_unbalance': [True, False],
               'nthread': [20],
               'n_monte_carlo': [1],
               'num_round': [200000],
               'count_n': [0],
               'mc_test': [True, False],
               'objective': ['softmax'],
               'cv_n': [10],
               'num_classes': [3],
               'subsample': [0.9, 0.8, 0.6, 0.75, 0.4],
               'gamma': [0, 1, 2, 4, 8, 16],
               'max_depth': [4, 5, 6, 7, 8, 9, 11, 13, 15, 17, 20, 23, 26],
               'eval_metric': ['mlogloss', 'merror'],
               'eta': [0.03, 0.1, 0.01, 0.5, 0.05]

               }

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

Я использую функциональность lgbm.train(), а также встроенный метод перекрестной проверки.

Как я мог достичь этого ?? Не стесняйтесь спрашивать больше примеров кода, если это необходимо

Заранее спасибо

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