当使用Optuna微调Lasso模型时,我会得到以下ConvergenceWarning。。有可能增加迭代次数吗?我增加了n_trials,但无济于事。
我的代码:
def objective(trial):
_alpha = trial.suggest_float("alpha", 0.0001, 0.01)
lasso = Lasso(alpha=_alpha, random_state=random_state)
score = cross_val_score(lasso, X_train, y_train, cv=kf, scoring="neg_root_mean_squared_error").mean()
return score
optuna.logging.set_verbosity(0)
study = optuna.create_study(direction="maximize")
study.optimize(objective, n_trials=300)
错误/警告:
/opt/conda/lib/python3.7/site packages/sklearn/lineral_model/coordinate_descension。py:532:聚合警告:
目标不一致。您可能需要增加迭代。对偶间隙:0.02194362081235468,公差:0.01627441311545211
根据警告消息,我认为代码中的Lasso
是sklearn的Lasso
。因此optuna的n_trials
没有解析警告。
我认为指定比默认值更大的Lasso
的max_iter
或tol
参数可以解决警告。