【机器学习】多元线性回归
简介
多元线性回归,将多个自变量x,拟合因变量y,形成表达式:y = x β + μ,能够对新的自变量进行回归预测;
前提假设
- 因变量y与参数β的表达式呈线性性;
- 样本随机性;
- 自变量x不存在先行共线性;
- 残差项独立同分布于均值为0,方差固定的高斯分布;
- 残差与自变量独立;
参数求解
损失函数:误差平方和SSE;
X’X满秩时,对β求偏导等于0,可整理求得β的表达式:
X’X不满秩时,可以利用梯度下降法求解β的近似解:
进而得到μ的表达式:μ = y - x β
拓展
- 岭回归:将损失函数引入系数β的L2范数惩罚项(最小二乘法求解参数);
- Lasso:将损失函数引入系数β的L1范数惩罚项(坐标下降法求解参数);
- 优缺点:引入惩罚项减少过拟合、且避免了自变量多重共线性问题导致的模型失真;但容易引起欠拟合,且对参数的估计为有偏估计,降低了可解释性;
sklearn实战
重要参数
class sklearn.linear_model.Ridge(alpha=1.0,fit_intercept=True, normalize=False,copyX=True, maxiter=None, tol=0.001,solver='auto', random_state=None):# alpha 损失函数惩罚项系数,默认为1,越大对系数值惩罚越大;# fit_intercept 是否计算该模型的截距,默认计算;
class sklearn.linear_model.Lasso(alpha=1.0, fit_intercept=True, normalize=False, precompute=False, copy_X=True, max_iter=1000, tol=1e-4, warm_start=False, positive=False, random_state=None, selection=’cyclic’):# 同上
回归任务
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression, LassoCV, RidgeCV# 波士顿房价数据
data = datasets.load_boston()
X_train, X_test, y_train, y_test = train_test_split(data["data"], data["target"], test_size=0.3, random_state=42)# 线性回归
model = LinearRegression(normalize=True)
model.fit(X_train, y_train)
print("linear loss train: ", model.score(X_train, y_train))
print("linear loss test: ", model.score(X_test, y_test))# 岭回归
model = RidgeCV(normalize=True)
model.fit(X_train, y_train)
print("Ridge loss train: ", model.score(X_train, y_train))
print("Ridge loss test: ", model.score(X_test, y_test))# Lasso回归
model = LassoCV(normalize=True)
model.fit(X_train, y_train)
print("Lasso loss train: ", model.score(X_train, y_train))
print("Lasso loss test: ", model.score(X_test, y_test))
参考
https://zhuanlan.zhihu.com/p/400443773
https://mp.weixin.qq.com/s?__biz=MzA3NDg2NzQzNw==&mid=2650966686&idx=1&sn=2fb088a8c2c2627ca2caa9b8d0ec63df&chksm=848f1d1cb3f8940a63e4311f4c7858186c0cd352f2ef16ec80df37b84825b82b2d65d45823d5&scene=27
【机器学习】多元线性回归相关推荐
- 机器学习多元线性回归_过度简化的机器学习(1):多元回归
机器学习多元线性回归 The term machine learning may sound provocative. Machines do not learn like humans do. Ho ...
- 吴恩达-机器学习-多元线性回归模型代码
吴恩达<机器学习>2022版 第一节第二周 多元线性回归 房价预测简单实现 以下以下共两个实验,都是通过调用sklearn函数,分别实现了 一元线性回归和多元线性回归的房价 ...
- 机器学习—多元线性回归案例
研究一个因变量.与两个或两个以上自变量的回归.亦称为多元线性回归,是反映一种现象或事物的数量依多种现象或事物的数量的变动而相应地变动的规律.建立多个变量之间线性或非线性数学模型数量关系式的统计方法. ...
- python多元线性回归实例_Python机器学习多元线性回归模型 | kTWO-个人博客
前言 在上一篇文章<机器学习简单线性回归模型>中我们讲解分析了Python机器学习中单输入的线性回归模型,但是在实际生活中,我们遇到的问题都是多个条件决定的问题,在机器学习中我们称之为多元 ...
- 机器学习-多元线性回归(Multiple Regression)算法
学习彭亮<深度学习基础介绍:机器学习>课程 与简单线性回归区别 简单线性回归:一个自变量(x) 多元线性回归:多个自变量(x) 多元回归模型 y=β0+β1x1+β2x2+ - +βpxp ...
- Python机器学习——多元线性回归案例(二)
引入披萨问题 回顾一下自己的生活经验,匹萨的价格其实还会受到其他因素的影响. 比如,匹萨的价格还与辅料有关.让我们再为模型增加一个解释变量.用一 元线性回归己经无法解决了,我们可以用更具一般性的模型来 ...
- 线性回归 - 机器学习多元线性回归 - 一步一步详解 - Python代码实现
目录 数据导入 单变量线性回归 绘制散点图 相关系数R 拆分训练集和测试集 多变量线性回归 数据检验(判断是否可以做线性回归) 训练线性回归模型 先甩几个典型的线性回归的模型,帮助大家捡起那些年被忘记 ...
- 机器学习-多元线性回归(multiple linear regression)
先甩几个典型的线性回归的模型,帮助大家捡起那些年被忘记的数学. ● 单变量线性回归: h(x)=theta0 + theta1* x 1 ● 多变量线性回归: h(x)=theta0 + theta1 ...
- 机器学习——多元线性回归问题(2)含标签
与一般多元回归问题(https://blog.csdn.net/hhhhhh5863/article/details/88718096 )不同的是:若自变量中含有标签变量,即非连续变量,我们该如何解决 ...
- 线性回归 - 多元线性回归案例 - 分析步骤、输出结果详解、与Python的结果对比 -(SPSS建模)
现在用 Python 写线性回归的博客都快烂大街了,为什么还要用 SPSS 做线性回归呢?这就来说说 SPSS 存在的原因吧. SPSS 是一个很强大的软件,不用编程,不用调参,点巴两下就出结果了,而 ...
最新文章
- 高速缓存系统之memcache c++使用实例
- 牛客 - 动物森友会(二分+最大流)
- eclipse中java.lang.OutOfMemoryError: Java heap space错误
- Spring Boot 2.3 版本变化[翻译]
- P1828 香甜的黄油 Sweet Butter (spfa)
- springmvc多文件上传
- [导入]用户控件包装器
- Mybatis遇到No constructor found in ....的解决方法
- 京东云VPC对等连接(VPC Peering)
- html4角星,运用ai绘画出5角星4角星三角形形状的设置步骤
- Python3之入门小程序
- 反向传播算法为什么要“反向”
- iApp裕v3语言认识us与ug
- 1334177-87-5,Cbz-N-amido-PEG8-acid含有Cbz保护的氨基和末端羧酸的PEG连接物
- 解决maven项目-Dmaven.multiModuleProjectDirectory报错
- nao机器人c语言编程教程,NAO机器人编程学习.pdf
- JSP九大内置对象和四个作用域
- docker搭建searx_Searx
- CSR、GPR、FPR
- 常用计算机二级题库,计算机等级考试题库
热门文章
- 《CSS Secrets》读书笔记(3)
- 魔兽RPG地图的二十二条军规
- Elasticsearch 6.2.2安装部署+kibana+HQ
- python调用nastran_基于Python语言的NASTRAN模型向Abaqus模型转换程序
- 用uml设计java应用程序_用UML设计Java应用程序之需求分析
- 跨境电商首选腾讯云轻量应用服务器Lighthouse!
- 如何提取MaxDOS的IMG文件
- FFplay文档解读-33-视频过滤器八
- 小米服务组件是什么东西_粥店熬的小米粥那么好喝,加了什么东西?老板分享3个熬粥技巧...
- 关于芝诺悖论中阿基里斯与龟的思考