线性回归与非线性回归:1.9 lasso回归及实战

  • Lasso回归

  • 通过构造一个一阶惩罚函数获得一个精炼的模型;通过最终确定一些指标(变量)的系数为零(岭回归估计系数等于零0的机会微乎其微,造成筛选变量困难),解释力很强。
  • 擅长处理具有多重共线性的数据,与岭回归一样是有偏估计。


  •  
  • 如下图
     


  • 蓝色部分为限制区域,即取值应该在蓝色区域内或边缘,红色的线为loss的等高线,离黑色的中心点越近loss越小。
    由上图可以看出lasso回归可以使其中的一个参数为0,岭回归则困难。

  • lasso sklearn实战

  • import numpy as np
    from numpy import genfromtxt
    from sklearn import linear_model
    
    # 读入数据 
    data = genfromtxt("longley.csv",delimiter=',')
    # 切分数据
    x_data = data[1:,2:]
    y_data = data[1:,1]
    
    # 创建模型
    model = linear_model.LassoCV()
    model.fit(x_data, y_data)
    
    # lasso系数
    print(model.alpha_)
    # 相关系数
    print(model.coef_)
    
    20.03464209711722
    [0.10206856 0.00409161 0.00354815 0.         0.         0.        ]
    
    model.predict(x_data[-2,np.newaxis])
    
    
    array([115.6461414])

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值