python-3.x - 指定要在 optuna (lightgbm) 中搜索的固定参数和参数
问题描述
我刚刚找到了 Optuna,似乎它们与 lightGBM 集成在一起,但我很难看到我可以在哪里修复参数,例如scoring="auc"
在哪里可以定义一个网格空间来搜索,例如num_leaves=[1,2,5,10]
.
以https://github.com/optuna/optuna/blob/master/examples/lightgbm_tuner_simple.py为例,他们只是定义了一个params
带有一些固定参数的字典(所有参数都没有在该字典中指定吗?),以及文档指出
它以逐步的方式调整重要的超参数(例如 min_child_samples 和 feature_fraction)
如何控制调整哪些参数以及在哪些空间中调整,以及如何修复一些参数?
解决方案
我对 LightGBM 一无所知,但由于这是在 optuna 中修复参数的第一个结果,我将回答这部分问题:
在 optuna 中,搜索空间是在目标函数的代码中定义的。此函数应将“试验”对象作为输入,您可以通过在该试验对象上调用 等函数suggest_float()
来创建参数。suggest_int()
有关更多信息,请参阅10_key_features/002_configurations.html中的文档
通常,固定参数是通过硬编码而不是调用suggest
函数来完成的,但可以使用 PartialFixedSampler在外部固定特定参数
推荐阅读
- java - Java Optional 接口:Optional 对象链上的嵌套条件
- c# - 在字符串中定义的我的类名的实例列表
- react-native - 在 webview react_native 中处理单击按钮或取消划线文本
- c++ - QML 参考错误 -
在 c++/QML 集成期间未定义 - reactjs - React 懒惰 vs Intersection 观察者 API
- azure - Azure AD:如何为应用设置自定义权限?
- react-native - 解析错误:意外的令牌,预期的,
- react-native - React-native-fetch-blob 创建 .apk 文件时出错
- android - 如何以编程方式“清除应用数据”然后“重新启动”Android 应用?
- python - 为什么 _siftup 和 _siftdown 在 Python 中正好相反?