其他分享
首页 > 其他分享> > Lasso概念及scikit-learn实战

Lasso概念及scikit-learn实战

作者:互联网

基本概念

岭回归相比,Lasso采用增加L1正则化的方式,其目标函数为

(\textbf{w},b)=\mathrm{argmin}\sum_{i=1}^{m}(f((\textbf{x}_{i})-y_{i})^2+\alpha ||\textbf{w}||

其中||\textbf{w}||称为L1正则化项,\alpha称为正则化项的系数。与L2正则化相比,L1正则化会使得部分参数为零。这个特性可被用于特征选择或者降维。

代码实现

假设目标函数为y=w_{1}x_{1}+w_{2}x_{2}+w_{3}x_{3}+w_{0}

已知当x_{1}=a_{1}x_{2}=b_{1}x_{3}=c_{1}时,y=d_{1},当x_{1}=a_{2}x_{2}=b_{2}, x_{3}=c_{2}时,y=d_{2},设置正则化项的系数为0.5

则Lasso回归求参数的代码如下所示

from sklearn import linear_model
rep = linear_model.Lasso(alpha=0.5)
rep.fit([[a1,b1,c1],[a2,b2,c2]],[d1,d2])
print(rep.coef_)
print(reg.intercept_)

标签:L1,rep,scikit,0.5,正则,learn,化项,Lasso
来源: https://blog.csdn.net/zyl26/article/details/119460446