当我使用 Optuna 调整模型时,我收到以下警告。请告诉我如何抑制这些警告?
[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
Run Code Online (Sandbox Code Playgroud)
我不熟悉 Optuna,但我使用 Python/lightgbm 遇到了这个问题。
从 v3.3.2 开始,参数调整页面包含似乎已重命名、已弃用或重复的参数。但是,如果您坚持设置/调整模型对象中指定的参数,则可以避免此警告。
from lightgbm import LGBMRegressor
params = LGBMRegressor().get_params()
print(params)
Run Code Online (Sandbox Code Playgroud)
这些是您想要设置的唯一参数。如果您希望能够包含所有参数,您可以执行如下操作。
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)
Run Code Online (Sandbox Code Playgroud)
该代码在每个似乎重复的参数对中设置一个或另一个。现在,当您致电时,lgr.fit(X, y)您不应该收到警告。
| 归档时间: |
|
| 查看次数: |
5007 次 |
| 最近记录: |