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)