解决|Lasso筛选特征不收敛问题、Lasso的alpha调参

报错:ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 1.0964018254413745, tolerance: 0.004501546391752578
model = cd_fast.enet_coordinate_descent(
Lasso筛选特征不收敛,一方面可能是数据的问题,另一方面试试调整Lasso的参数
如果从参数下手,解决方案:
1、大幅提升max_ite。我提升到200000,仍然不收敛
2、tol默认值为1e-4。其实是比较小的,试试降低这个值
3、设置normalize=True

*在Lasso不收敛的情况下,试试不用lasso筛选特征(保留其他筛选特征的方法,比如ttest),反而结果更好

Lasso的参数alpha
# alpha大,正则化强,倾向于将更多特征系数压缩至0,但是,如果设置较大,可能最后就没特征了,,,会报错
# alpha小,正则化弱,可能过拟合(我倾向于把alpha设置小一点)

附:
SVM的两个参数,C和gamma
C是正则化参数,C小,正则化强,模型简单,可能欠拟合。C大,正则化弱,模型复杂,可能过拟合
gamma是径向基函数(RBF)核的参数,控制单个训练样本的影响范围。较小的 gamma 值表示更大的影响范围,模型更简单;较大的 gamma 值表示更小的影响范围,模型更复杂
总之,C和gamma小——模型简单,可能欠拟合;C和gamma大——模型复杂,可能过拟合。一般倾向于两者相互制衡?一个大一个小

posted @ 2024-08-05 15:08  xjl_ultrasound  阅读(644)  评论(0)    收藏  举报