前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >线性回归

线性回归

作者头像
冬夜先生
发布于 2021-12-29 11:17:02
发布于 2021-12-29 11:17:02
44600
代码可运行
举报
文章被收录于专栏:csicocsico
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
统计学习方法
算法(线性回归)
策略(损失函数)
优化(找到最小损失对于的W值)

线性回归
寻找一种能预测的趋势

线性关系
二维:直线关系
三维:特征,目标值,平面当中

线性关系定义
h(w)=w0+w1x1+w2x2+…
其中w,x为矩阵:

w表示权重,b表示偏置顶

损失函数(误差大小:只有一个最小值)
yi为第i个训练样本的真实值
hw(xi)为第i个训练样本特征值组合的预测函数
总损失的定义:(最小二乘法)
预测结果-真实结果的平方


寻找W方法
最小二乘法之梯度下降 (数据十分庞大适合用)
最小二乘法之正规方程  (数据简单适合用 <1W数据时使用  但是不能解决过拟合问题)
过拟合表示:训练集表现良好,测试集表现不好

最小二乘法之梯度下降
理解:沿着损失函数下降的方向找,最后找到山谷的最低点,然后更新W值 
学习速率:指定下降的速度
使用:面对训练数据规模十分庞大的任务 适合各种类型的模型

注意:特征值和目标值都需要做标准化处理

API
# 正规方程
from sklearn.linear_model import LinearRegression 
# 梯度下降
from sklearn.linear_model import SGDRegressor


案例
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import SGDRegressor
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn import datasets


# 提取数据
df = datasets.load_boston()


# 数据切割
x_train, x_test, y_train, y_test = train_test_split(df.data, df.target, test_size=0.25)


# 下面均方误差 需要用到为标准化之前的数据
mse_test = y_test


# 给特征值标准化
std_x = StandardScaler()
x_train = std_x.fit_transform(x_train)
x_test = std_x.transform(x_test)


# 给目标值标准化
std_y = StandardScaler()
y_train = std_y.fit_transform(y_train.reshape(-1,1))
y_test = std_y.transform(y_test.reshape(-1,1)[0:1])

正规方程
# 正规方程
lr = LinearRegression()
lr.fit(x_train,y_train)
# 预测结果返回的是二维数组 所以不需要转换
lr_p = std_y.inverse_transform(lr.predict(x_test))  # std_y.inverse_transform() 转换数据
print(lr.coef_) # 显示回归系数 即W的值
print(lr_p.round(2).reshape(1,-1)[0:1][0])
正规方程均方误差
# 计算正规方程均方误差
# 第一个参数为真实数据,第二个参数为预测数据
# 需要填入标准化之前的值
mse_lr = mean_squared_error(mse_test,lr_p)
print(mse_lr)

梯度下降
# 梯度下降
sgd = SGDRegressor()
sgd.fit(x_train,y_train)
# std_y.inverse_transform() 转换数据
# reshape(-1,1) 梯度下降预测结果返回的是一维数组  需要转换
sdg_p = std_y.inverse_transform(sgd.predict(x_test).reshape(-1,1))
print(sgd.coef_) # 显示回归系数 即W的值
sdg_p = sdg_p.round(2).reshape(1,-1)[0:1][0]

梯度下降均方误差
# 计算梯度下降均方误差
# 第一个参数为真实数据,第二个参数为预测数据
# 需要填入标准化之前的值
mse_sdg = mean_squared_error(mse_test,sdg_p)
print(mse_sdg)

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【V课堂】机器学习系列:(二)线性回归
线性回归 本章介绍用线性模型处理回归问题。从简单问题开始,先处理一个响应变量和一个解释变量的一元问题。然后,我们介绍多元线性回归问题(multiple linear regression),线性约束由多个解释变量构成。紧接着,我们介绍多项式回归分析(polynomial regression问题),一种具有非线性关系的多元线性回归问题。最后,我们介绍如果训练模型获取目标函数最小化的参数值。在研究一个大数据集问题之前,我们先从一个小问题开始学习建立模型和学习算法。 一元线性回归 上一章我们介绍过在监督学习问题
小莹莹
2018/04/23
1.4K0
【V课堂】机器学习系列:(二)线性回归
机器学习-线性回归算法(房价预测项目)
线性回归(Linear Regression)是回归任务中最常见的算法,利用回归方程对自变量和因变量进行建模,且因变量和自变量之间是线性关系而得名,从而可以根据已知数据预测未来数据,如房价预测、PM2.5预测等。
唔仄lo咚锵
2023/05/23
9360
机器学习-线性回归算法(房价预测项目)
回归-线性回归算法(房价预测项目)
线性回归(Linear Regression)是回归任务中最常见的算法,利用回归方程对自变量和因变量进行建模,且因变量和自变量之间是线性关系而得名,从而可以根据已知数据预测未来数据,如房价预测、PM2.5预测等。
唔仄lo咚锵
2022/10/04
1.7K0
回归-线性回归算法(房价预测项目)
机器学习——线性回归
导入类库 1 from sklearn.externals import joblib 2 from sklearn.model_selection import train_test_split 3 from sklearn.datasets import load_boston 4 from sklearn.preprocessing import StandardScaler 5 from sklearn.linear_model import LinearRegression 6 fro
py3study
2020/01/19
4200
AI-线性回归模型
通过sklearn.linear_model.LinearRegression类创建一个线性回归模型实例。这个类有许多参数可以设置,如fit_intercept(是否计算模型的截距)和normalize(是否对数据进行标准化处理)等。
@小森
2024/03/15
2690
AI-线性回归模型
最强总结!8个线性回归核心点!!
那从今天开始,我预计会陆陆续续出一些内容,来论述各个算法的基础核心点,大家感兴趣可以关注起来。
Python编程爱好者
2024/05/13
8450
最强总结!8个线性回归核心点!!
线性回归
线性模型形式简单、易于建模,但却蕴含着机器学习中一些重要的基本思想。许多功能更为强大的非线性模型都可在线性模型的基础上引入层级结构或高维映射得到。 基本形式 给定由d个属性描述的示例x=(x1; x2
听城
2018/04/27
1.3K0
线性回归
线性回归模型使用技巧
线性回归是统计学中最基础且广泛使用的预测模型之一。它通过找到最佳拟合直线(或超平面)来描述因变量(目标变量)与自变量(预测因子)之间的关系。本文将探讨线性回归的核心理论,常见问题,如何避免这些错误,并提供一个实践案例及代码示例。
Jimaks
2024/05/14
2340
机器学习从0入门-线性回归
机器学习有许多不同的算法,每个算法都有其特定的应用场景和优缺点。然而,最简单的机器学习算法可能是线性回归。
皮大大
2023/08/25
5140
机器学习从0入门-线性回归
回归问题波士顿房价预测
sklearn.linear_model.LinearRegression(fit_intercept=True)
@小森
2024/03/15
2650
回归问题波士顿房价预测
【机器学习与实现】线性回归示例——波士顿房价分析
链接:https://pan.quark.cn/s/fc4b2415e371 提取码:ZXjU
Francek Chen
2025/01/22
1410
【机器学习与实现】线性回归示例——波士顿房价分析
机器学习篇(五)
分类算法:是一种对离散型随机变量建模或预测的监督学习算法。使用案例包括邮件过滤、金融欺诈和预测雇员异动等输出为类别的任务。许多回归算法都有与其相对应的分类算法,分类算法通常适用于预测一个类别(或类别的概率)而不是连续的数值。
不断折腾
2019/09/23
5080
机器学习篇(五)
Python人工智能经典算法之线性回归
1.9 k近邻算法总结[**] 优点: 1.简单有效 2.重新训练代价底 3.适合类域交叉样本 4.适合大样本自动分类 缺点: 1.惰性学习 2.类别评分不是规格化 3.输出可解释性不强 4.对不均衡的样本不擅长 样本不均衡:收集到的数据每个类别占比严重失衡 5.计算量较大 1.10 交叉验证和网格搜索[****] 1
海仔
2020/09/01
5240
机器学习 | 简单而强大的线性回归详解
回归分析是一种预测性的建模技术,它研究的是因变量和自变量之间的关系。它能够表明自多个自变量对一个因变量的影响强度。这种技术通常用于预测分析、时间序列模型以及发现变量之间的因果关系。回归分析是一种通过建立模型来研究变量之间相互关系的密切程度、结构状态及进行模型预测的有效工具,是建模和分析数据的重要工具。
数据STUDIO
2021/06/24
1.5K0
基于sklearn的线性回归器理论代码实现
理论 线性回归器 相比于线性分类器,线性回归器更加自然。回归任务的label是连续的变量(不像分类任务label是离散变量),线性回归器就是直接通过权值与输入对应相乘再相加直接计算出结果$$y = w^{T}*x + b$$ 其中,w为权值,x是输入,y是输出 回归器的优化 与分类器类似,回归器也是通过梯度优化的,一般来说分类问题常用均方误差函数来标定结果的质量(即代价函数)$$L(w,b) = \sum (y - y')$$ 其中y为模型输出,y'为期望值。 代码实现 数据集导入 from sklea
月见樽
2018/04/27
9260
10种常见的回归算法总结和介绍
线性回归是机器学习中最简单的算法,它可以通过不同的方式进行训练。 在本文中,我们将介绍以下回归算法:线性回归、Robust 回归、Ridge 回归、LASSO 回归、Elastic Net、多项式回归、多层感知机、随机森林回归和支持向量机。除此以外,本文还将介绍用于评估回归模型的最常用指标,包括均方误差 (MSE)、均方根误差 (RMSE) 和平均绝对误差 (MAE)。
deephub
2022/11/11
1K0
10种常见的回归算法总结和介绍
线性回归的基础知识
error function = loss function = cost function
用户11414625
2024/12/20
1060
线性回归的基础知识
机器学习-线性回归
假设现在有一些数据点,我们利用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称作为回归,如下图所示:
py3study
2020/01/17
5400
机器学习篇(2)——最小二乘法概念最小二乘法
前言:主要介绍了从最小二乘法到 概念 顾名思义,线性模型就是可以用线性组合进行预测的函数,如图: image.png 公式如下: image.png image.png 误差
DC童生
2018/04/27
2K0
机器学习篇(2)——最小二乘法概念最小二乘法
【机器学习】机器学习回归模型全解析:线性回归、多项式回归、过拟合与泛化、向量相关性与岭回归的理论与实践
文章链接:https://cloud.tencent.com/developer/article/2465836
小馒头学Python
2024/11/15
3380
【机器学习】机器学习回归模型全解析:线性回归、多项式回归、过拟合与泛化、向量相关性与岭回归的理论与实践
相关推荐
【V课堂】机器学习系列:(二)线性回归
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验