解决|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大——模型复杂,可能过拟合。一般倾向于两者相互制衡?一个大一个小
本文来自博客园,作者:xjl-ultrasound,转载请注明原文链接:https://www.cnblogs.com/xjl-ultrasound/p/18343269

浙公网安备 33010602011771号