当我们的数据存在多重共线性时,即其中的一个自变量可以用其他一个或几个自变量的线性表达式进行表示,你会发现,拟合之后的方差会特别大

一般说来当解释变量的容忍度(TOLERANCE)小于0.10或者方差膨胀因子(VIF)大于10时,说明变量之间存在多重共线性现象,会影响到回归模型的正确估计。

方差膨胀因子VIF=1/(1-r2),r是线性相关系数

具体可以参考:多重共线性,怎么判断是否有多重共线性,怎么解决

scikit-learn介绍了一种岭回归,岭回归就是带二范数惩罚的最小二乘回归。

通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于OLS。本质是在自变量信息矩阵的主对角线元素上人为地加入一个非负因子。

再来看看scikit-learn上面的代码

#-*- coding: UTF-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model# X is the 10x10 Hilbert matrix
X = 1. / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])
y = np.ones(10)
print (X)
print (y)n_alphas = 10
alphas = np.logspace(-10, -2, n_alphas) #创建以10的-10次方开始,10的-2次方结尾,元素个数为200的等比数列,赋值给alphas

coefs = []
for a in alphas:ridge = linear_model.Ridge(alpha=a, fit_intercept=False)ridge.fit(X, y)coefs.append(ridge.coef_)
ax = plt.gca() #获取当前的axes绘图区域

ax.plot(alphas, coefs)
ax.set_xscale('log')
ax.set_xlim(ax.get_xlim()[::-1])  # reverse axis,间隔是10的-1次方
plt.xlabel('alpha')
plt.ylabel('weights')
plt.title('Ridge coefficients as a function of the regularization')
plt.axis('tight')
plt.show()

在岭迹图中,当alpha值过大时,回归系数趋近于零,当alpha越小时,相当于最小二乘法,回归系数振荡很大。

所以需要选取合适的系数值

岭回归和lasso回归类似

原本是想用岭回归和lasso来再把titanic来一遍,不过,这个也没有多重共线性问题,还是用接下来的逻辑回归来尝试一下吧。

羞愧的我。

转载于:https://www.cnblogs.com/timotong/p/7471586.html

第四篇[机器学习] 机器学习,线性回归的优化相关推荐

  1. 第七十四篇:机器学习优化方法及超参数设置综述

    第七十四篇:机器学习优化方法及超参数设置综述 置顶 2019-08-25 23:03:44 廖佳才 阅读数 207更多 分类专栏: 深度学习 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-S ...

  2. 【Pytorch神经网络基础理论篇】 07 线性回归 + 基础优化算法

    一.线性代数 回归是指一类为一个或多个自变量与因变量之间关系建模的方法.在自然科学和社会科学领域,回归经常用来表示输入和输出之间的关系. 在机器学习领域中的大多数任务通常都与预测(prediction ...

  3. 如何高效运作机器学习团队(机器学习入门第四篇)

    本文是机器学习入门教程的第四篇,前三篇分别是: 1.机器学习能为你的业务做什么?有些事情你肯定猜不到 2.关于机器学习算法 你需要了解的东西 3.如何开发机器学习模型? 我们已经讨论了开发机器学习模型 ...

  4. 百来篇关于机器学习和深度学习的资料

    编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定期的更新,望看到文章的朋友能够学到更多. <Brief History of Machine Le ...

  5. 【机器学习】线性回归【下】正则化最小二乘估计

    有任何的书写错误.排版错误.概念错误等,希望大家包含指正. 由于字数限制,分成两篇博客. [机器学习]线性回归[上]朴素最小二乘估计 [机器学习]线性回归[下]正则化最小二乘估计 2.4. 正则化 正 ...

  6. 机器学习之线性回归_通过线性回归开始机器学习之旅

    机器学习之线性回归 线性回归 (Linear Regression) Linear regression is a part of Statistics that defines the relati ...

  7. 智源青年科学家袁洋:机器学习可靠性与算法优化的方法探索

    2020年2月11日,在"智源论坛Live | 青年科学家线上报告会"上,智源青年科学家.清华大学助理教授袁洋作了题为<机器学习可靠性与算法优化>的演讲.袁洋,2018 ...

  8. 基础篇 | 01 机器学习基础

    本系列概述 核心内容是深度学习,只不过我们会进行代码实践,来巩固我们讲的概念的基础.会使用机器学习开发可以实际使用的工程项目,这也是我们这个系列跟其它机器学习最大区别的地方. 深度学习的意义 当然,不 ...

  9. 机器学习:线性回归简单有效,但是千万不要踩到雷区!

    https://www.toutiao.com/a6673670287524889091/ 01 引言 人工智能和机器学习已经是时下火热的技术.各行各业的人都想着如何利用人工智能和机器学习使他们的工作 ...

最新文章

  1. 玩转SmartQQ之登录
  2. 技术开发人员适应其他部门提需求的一个经验
  3. Bitmap那些事之内存占用计算和加载注意事项
  4. SAP CRM WebClient UI Technical profile里timeout 设置
  5. netlink 学习笔记 3.8.13内核
  6. Jenkins进阶系列之---下载安装
  7. 解锁用户 修改用户登录尝试次数无限
  8. 查看android端BKS类型的证书库
  9. 贵州最新特种工(施工升降机)模拟题集及答案
  10. 使用NGUI模仿制作“切水果”
  11. 如何在Win10登录画面默认开启小键盘数字锁定?
  12. PG的timestamp
  13. java调用帆软cpt文件_报表中心FineReport中java如何直接调用报表打印
  14. Web 前端开发技术 ——html
  15. CDN,你知道是什么吗?
  16. Angular------win10搭建Angular环境并运行hello-world
  17. 关于 华为freelace蓝牙耳机 配对电脑的教程
  18. Python 学习笔记本一一
  19. 单片机驱动DM542步进电机(使丝杠做往返运动--速度可调)
  20. iOS_selector、SEL、IMP、Method都是什么,以及之间的关系

热门文章

  1. git 创建邮箱 用户名_git设置用户名和邮箱
  2. 5.1 上网本安装安卓x86_生信工具 | antiSMASH 安装教程
  3. zap支持php,golang的zap怎么使用
  4. mysql jdbc dbcp_连接数据库 JDBC、DBCP、JNDI
  5. postgresql存储过程输出参数
  6. 产品网络推广带你了解蜘蛛是依靠什么判断文章质量的?助力提升网站收录率!...
  7. 新网站优化基本流程不可忽视!
  8. 新松机器人BG总裁高峰_新松与民航物流公司签署战略合作协议
  9. docker helowin 迁移_docker-compose 安装 oracle_11g_r2 并实现数据持久化
  10. python双引号和单引号区别_Python中单引号,双引号,3个单引号及3个双引号的区别...