首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抑制Optuna中的LightGBM警告

抑制Optuna中的LightGBM警告
EN

Stack Overflow用户
提问于 2021-11-24 09:34:13
回答 1查看 1.9K关注 0票数 3

我得到以下警告,而我正在使用Optuna来调整我的模型。请告诉我如何压制这些警告?

代码语言:javascript
复制
[LightGBM] [Warning] feature_fraction is set=0.2, colsample_bytree=1.0 will be ignored. Current value: feature_fraction=0.2
[LightGBM] [Warning] min_data_in_leaf is set=5400, min_child_samples=20 will be ignored. Current value: min_data_in_leaf=5400
[LightGBM] [Warning] min_gain_to_split is set=13.203719815769512, min_split_gain=0.0 will be ignored. Current value: min_gain_to_split=13.203719815769512
EN

回答 1

Stack Overflow用户

发布于 2022-08-28 03:33:57

我不熟悉Optuna,但是我使用Python/lightgbm遇到了这个问题。

在v3.3.2中,参数调优页包含的参数似乎被重命名、弃用或复制。但是,如果坚持设置/调优模型对象中指定的参数,则可以避免此警告。

代码语言:javascript
复制
from lightgbm import LGBMRegressor
params = LGBMRegressor().get_params()
print(params)

这些是您要设置的唯一参数。如果您希望能够包含所有参数,可以执行如下操作。

代码语言:javascript
复制
from lightgbm import LGBMRegressor
lgr = LGBMRegressor()
params = lgr.get_params()
aliases = [
    {'min_child_weight', 'min_sum_hessian_in_leaf'},
    {'min_child_samples', 'min_data_in_leaf'},
    {'colsample_bytree', 'feature_fraction'},
    {'subsample', 'bagging_fraction'}
]
for alias in aliases:
    if len(alias & set(params)) == 2:
        arg = random.choice(sorted(alias))
        params[arg] = None
lgr = LGBMRegressor(**params)

代码在每个参数对中设置一个或另一个,这些参数对似乎是重复的。现在,当您调用lgr.fit(X, y)时,您不应该收到警告。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70093678

复制
相关文章

相似问题

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