第二章.线性回归以及非线性回归

2.13 LASSO算法

1.前期导入:

  • 通过构造一个一阶惩罚函数获得一个精炼的模型;通过最终确定一些指标(变量)的系数为零,解释力很强

  • 岭回归估计系数等于0的机会微乎其微,造成筛选变量困难

  • 擅长处理具有多重共线性的数据,与岭回归一样是有偏估计

2.LASSO与岭回归的差异:

1).代价函数:

  • 岭回归

  • LASSO

2).图像1层面理解:

  • 岭回归

图像描述:
①.假设定义的函数里面只有β1和β2两个系数,有λ的限制条件时,可以绘制出图中的蓝色圆圈
②.图中的β^代表代价函数的最小值,一个圈代表一个代价函数的值,代价函数的值越小越好
③.图中红色点的是λ比较好的取值点(两个图像相切的点)

  • LASSO

图像描述:
①.假设定义的函数里面只有β1和β2两个系数,有λ的限制条件时,可以绘制出图中的蓝色菱形
②.图中的β^代表代价函数的最小值,一个圈代表一个代价函数的值,代价函数的值越小越好
③.图中红色点的是λ比较好的取值点(两个图像相切的点)
④.相对来说,LASSO的β1的参数取值比较容易取到0,岭回归的参数比较难取到0

2).图像2层面理解:

  • 岭回归

    图像描述:
    ①.不同的线代表不同的参数值
    ②.从右向左看,参数值不断的变小,通过增大正则项λ的系数,使得参数值不断变小,无限趋近于0,很难等于0

  • LASSO

    图像描述:
    ①.不同的线代表不同的参数值
    ②.从右向左看,参数值不断的变小,通过增大正则项λ的系数,使得某些参数值等于0(等于0的参数可能是一些干扰参数,例如:噪声,或存在多重共线性的问题),选取少量参数构建模型,排除等于0的参数

3.实战2:sklearn—LASSO算法:

1).CSV中的数据:

  • longley.csv

2).代码

import numpy as np
from numpy import genfromtxt
from sklearn import linear_model# 导入数据
data = genfromtxt('D:\\Data\\longley.csv', delimiter=',')# 数据切片
x_data = data[1:, 2:]
y_data = data[1:, 1]# 创建模型
model = linear_model.LassoCV()# 拟合线性模型
model.fit(x_data, y_data)# lasso系数
coeff = model.alpha_
print('lasso系数:', coeff)# 相关系数
rCoeff = model.coef_
print('相关系数:', rCoeff)# 预测数据
pred = model.predict(x_data[2, np.newaxis])
print('第二行的预测数据:', pred, '实际数据:88.2')

3).结果展示:

①.数据

第二章.线性回归以及非线性回归—LASSO算法相关推荐

  1. 第二章.线性回归以及非线性回归—一元线性回归,代价函数,相关系数,决定系数

    第二章.线性回归以及非线性回归 2.1 一元线性回归 1.概念: 1).自变量: 被用来进行预测的变量,相当于输入 2).因变量: 被预测的变量,相当于输出 3).回归分析: 用来建立方程模拟两个或者 ...

  2. 第二章.线性回归以及非线性回归—多项式回归

    第二章.线性回归以及非线性回归 2.7 多项式回归 1.举例: 1).特征数不同对应的曲线不同 2).假设我们不是找值(或者超平面),而是需要找到一个用多项式所表示的曲线(或者超平面),例如二次曲线: ...

  3. 吴恩达机器学习(第二章)——单变量线性回归

    第二章-单变量线性回归 文章目录 第二章-单变量线性回归 模型描述 代价函数 梯度下降 梯度下降的思想 梯度下降算法的公式 梯度下降的运动方式 线性回归的梯度下降 模型描述 在监督学习中我们有一个数据 ...

  4. 机器学习--线性回归2(共线性问题、岭回归、lasso算法)

    上一节我们讲了线性回归的一元线性回归和多元线性回归,其中多元线性回归在求解的过程中又分为满秩和非满秩的情况,进而引出了的最大释然估计进行处理,后面详细的对回归误差进行了分析,最后误差来源于平方偏置.方 ...

  5. 机器学习--线性回归3(使用LAR算法进行求解Lasso算法)

    上一节我们详细的介绍了岭回归算法和lasso算法的来历和使用,不过还没有详解lasso的计算方式,本节将进行全面的详解,在详解之前,希望大家都理解了岭回归和lasso 的来历,他们的区别以及使用的范围 ...

  6. 【编程珠玑】读书笔记 第二章 算法

    2013-07-11 22:00:28 第二章 算法 本章围绕三个问题进行算法讨论,包括元素的查找.字符串的旋转.以及变位词的查找. 下面给出了实现代码.以及测试结果. 问题一 查找不存在的元素 思路 ...

  7. 第二章 单变量线性回归-机器学习老师板书-斯坦福吴恩达教授

    第二章 单变量线性回归 2.1 模型描述 2.2 代价函数 2.3 代价函数(一) 2.4 代价函数(二) 2.5 梯度下降 2.6 梯度下降知识点 2.7 线性回归的梯度下降 2.1 模型描述 2. ...

  8. 机器学习理论入门:第二章 经典监督学习算法-决策树

    第二章 经典监督学习算法-决策树 一.决策树总体概览 概念:是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概 ...

  9. 为什么我要放弃javaScript数据结构与算法(第二章)—— 数组

    第二章 数组 几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构.JavaScript里也有数组类型,虽然它的第一个版本并没有支持数组.本章将深入学习数组数据结构和它的能力. 为什么 ...

最新文章

  1. HDU 4826 Labyrinth(DP解法)
  2. 使用密码记录工具keepass来保存密码
  3. 独立测试团队在敏捷开发中的几个特别实践
  4. 字王谈M1字形与个人云字库
  5. java使用:: 表达式_Java 12:开关表达式
  6. Python开发还在用virtualenv?不如了解下pipenv...#华为云·寻找黑马程序员#
  7. java 单例 并发_完美的单例实现(The Perfect Singleton)
  8. 整理了4个B端产品调研网站,不花一分钱获得最全面的产品体验
  9. linux创建自定义组件qt,QT中的元对象系统:创建自定义的QT类型
  10. UVA-1635 数学
  11. Linux高级命令及mysql数据安装
  12. 3d slicer调整窗宽窗位_3D游戏模型制作技巧,掌握这些技术你也能进鹅厂!
  13. web前端技术课程作业
  14. Stemming词干提取 和 Lemmatization 词形还原
  15. Cygwin安装教程【超详细】
  16. 使用NGUI实现拖拽功能(拼图小游戏)
  17. 噬菌体疗法减缓细菌耐药性进化
  18. 51单片机检测温湿度并且上传到阿里云
  19. 企业内网安全体系化发展方向
  20. wr720n刷成网络打印_方便实用!教你如何简单把 usb打印机改成无线打印机!

热门文章

  1. Docker安装halo
  2. hana 表空间_hana数据库命令
  3. 小米(红米)电视关闭开机广告hosts方法
  4. 【深度学习】图像分类之KNN算法
  5. Windows系统中怎样使用12.7及其以上版本的iTunes 制作Iphone手机铃声
  6. 消费心理学(01):心理账户
  7. 国密SM9算法C++实现之八:密钥交换算法
  8. SVM支持向量机的推导(非常详细)
  9. 基于STM32的常用数码管芯片TM1637驱动
  10. Wireshark在VMware虚拟机Win7上打开没有显示网络适配器——Wireshark版本不对应