0

使用 Optuna 微调我的 Lasso 模型时,我得到以下 ConvergenceWarning .. 是否可以增加 nr. 迭代次数?我增加了 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/linear_model/_coordinate_descent.py:532:ConvergenceWarning:

目标没有收敛。您可能希望增加迭代次数。对偶间隙:0.02194362081235468,公差:0.01627441311545211

4

1 回答 1

0

根据警告信息,我认为Lasso代码中是 sklearn 的Lasso. 所以n_trialsoptuna 不能解决警告。

我认为指定大于max_iter或大于默认值的tol参数Lasso可以解决警告。

于 2021-05-13T15:01:44.990 回答