首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何手动将超参数分配给LGBM

如何手动将超参数分配给LGBM
EN

Stack Overflow用户
提问于 2020-01-08 04:15:19
回答 2查看 532关注 0票数 0
代码语言:javascript
复制
model = lightgbm.LGBMClassifier()  
hyperparameter_dictionary = {'boosting_type': 'goss',   'num_leaves': 25, 'n_estimators': 184, ...}  

我如何通过字典分配模型的超参数,以便我可以使用这些超参数来尝试模型的行为?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-08 04:22:48

将超参数字典传递给模型构造函数,将**添加到字典以传递每个字典项,就像lgbm期望的每个https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.LGBMClassifier.html#lightgbm.LGBMClassifier的kwarg参数一样。

代码语言:javascript
复制
hyperparameter_dictionary = {'boosting_type': 'goss', 'num_leaves': 25, 'n_estimators': 184}
model = lightgbm.LGBMClassifier(**hyperparameter_dictionary)

测试:

代码语言:javascript
复制
print(model)

LGBMClassifier(boosting_type='goss', ... n_estimators=184, n_jobs=-1, num_leaves=25,...)
票数 2
EN

Stack Overflow用户

发布于 2020-01-08 04:52:03

sklearn BaseEstimator接口提供了get_paramsset_params,用于获取和设置估计器的超参数。LightGBM是兼容的,因此您可以执行以下操作:

代码语言:javascript
复制
model = lightgbm.LGBMClassifier()  
hyperparameter_dictionary = {'boosting_type': 'goss',   'num_leaves': 25, 'n_estimators': 184}  
model.set_params(**hyperparameter_dictionary)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59635480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档