Как вручную назначить гиперпараметр для LGBM - PullRequest
0 голосов
/ 07 января 2020
model = lightgbm.LGBMClassifier()  
hyperparameter_dictionary = {'boosting_type': 'goss',   'num_leaves': 25, 'n_estimators': 184, ...}  

Как назначить гиперпараметры модели по словарю, чтобы я мог проверить поведение модели с такими гиперпараметрами?

Спасибо!

Ответы [ 2 ]

1 голос
/ 07 января 2020

передает словарь гиперпарама в конструктор модели, добавляя ** к требованию, чтобы передать каждый элемент dict как параметр kwarg, так как lgbm ожидает его за https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.LGBMClassifier.html#lightgbm .LGBMClassifier :

hyperparameter_dictionary = {'boosting_type': 'goss', 'num_leaves': 25, 'n_estimators': 184}
model = lightgbm.LGBMClassifier(**hyperparameter_dictionary)

ТЕСТ:

print(model)

LGBMClassifier(boosting_type='goss', ... n_estimators=184, n_jobs=-1, num_leaves=25,...)
0 голосов
/ 07 января 2020

Интерфейс sklearn BaseEstimator предоставляет get_params и set_params для получения и установки гиперпараметров оценки. LightGBM совместим, поэтому вы можете сделать следующее:

model = lightgbm.LGBMClassifier()  
hyperparameter_dictionary = {'boosting_type': 'goss',   'num_leaves': 25, 'n_estimators': 184}  
model.set_params(**hyperparameter_dictionary)
...