Lasso 回归模型与 GridSearchCV 有收敛警告

Posted

技术标签:

【中文标题】Lasso 回归模型与 GridSearchCV 有收敛警告【英文标题】:Lasso regression model has convergence warnings with GridSearchCV 【发布时间】:2021-12-07 11:15:21 【问题描述】:

这是我的代码:

from sklearn.linear_model import Lasso
from sklearn.model_selection import GridSearchCV
import numpy as np

alpha_space = 'alpha': np.logspace(-4, 0, 50)
lasso = Lasso(normalize=True,  tol=0.0001)
grid_search_lr = GridSearchCV (lasso, alpha_space, cv=3, scoring="neg_mean_squared_error")
grid_search_lr.fit(X_tr, y_tr)

print(grid_search_lr.best_params_)
print(np.sqrt(-grid_search_lr.best_score_))

但是当我去运行它时,在答案之前我至少收到了 20 个这样的警告:

/usr/local/lib/python3.7/dist-packages/sklearn/linear_model/_coordinate_descent.py:476: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8451216620580.201, tolerance: 12888767617.309622

积极的)

我应该怎么做才能修复或阻止这些警告?

【问题讨论】:

【参考方案1】:

Lasso 估计器使用迭代算法来解决优化问题。迭代算法在达到所需的收敛水平时停止(使用容差tol 设置)。为了避免让算法执行过多的迭代(并且可能永远不会停止),算法也会在执行最大次数的迭代时停止 (max_iter)。在这种情况下,它会发出警告,指出它未能达到所需的收敛水平。

为避免收敛警告,您可以:

增加容差tol(以要求不那么严格的收敛级别) 增加最大迭代次数max_iter(以花更多时间寻找收敛水平)

【讨论】:

以上是关于Lasso 回归模型与 GridSearchCV 有收敛警告的主要内容,如果未能解决你的问题,请参考以下文章

吴裕雄 数据挖掘与分析案例实战——岭回归与LASSO回归模型

R语言glmnet拟合lasso回归模型实战:lasso回归模型的模型系数及可视化lasso回归模型分类评估计算(混淆矩阵accuracyDeviance)

岭回归与lasso回归算法

岭回归与lasso回归算法

岭回归和lasso回归(转)

热门数据挖掘模型应用入门: LASSO回归