线性回归原理(一)

简介: 线性回归用于预测,如房价、销售额和贷款额度。它通过回归方程连接自变量与因变量,例如房价可能依赖于距离和污染水平。在Python的`sklearn`库中,`LinearRegression`用于建模,`coef_`给出回归系数。损失函数衡量预测误差,用于模型优化。

线性回归应用场景


  • 房价预测

  • 销售额预测

  • 贷款额度预测


线性回归(Linear regression)是利用 回归方程 一个或多个自变量(特征值)和因变量(目标值)之间 关系进行建模的一种分析方式。


  • 期末成绩:0.7×考试成绩+0.3×平时成绩
  • 房子价格 = 0.02×中心区域的距离 + 0.04×城市一氧化氮浓度 + (-0.12×自住房平均房价)  



我们看到特征值与目标值之间建立了一个关系,这个关系可以理解为线性模型 。


线性回归当中主要有两种模型, 一种是线性关系,另一种是非线性关系。


线性回归API


sklearn中, 线性回归的API在linear_model模块中


sklearn.linear_model.LinearRegression()


  • LinearRegression.coef_:回归系数




from sklearn.linear_model import LinearRegression
 
x = [[80, 86],
     [82, 80],
     [85, 78],
     [90, 90],
     [86, 82],
     [82, 90],
     [78, 80],
     [92, 94]]
 
y = [84.2, 80.6, 80.1, 90, 83.2, 87.6, 79.4, 93.4]
 
# 实例化
estimator = LinearRegression()
# 使用fit方法进行训练
estimator.fit(x,y)
print(estimator.coef_)
# 未知样本预测
print(estimator.predict([[100, 80]]))
 
#
[0.3 0.7]
[86.]
  1. LinearRegression.fit 表示模型训练函数


  1. LinearRegression.predict 表示模型预测函数


  1. 线性回归模型的目标:通过学习得到线性方程的这两个权值,y=kx+b中,得到k和b两个权值


损失函数


  • 衡量机器学习模型性能
  • 损失函数可以计算预测值与真实值之间的误差,误差越小说明模型性能越好。
  • 确定损失函数之后, 我们通过求解损失函数的极小值来确定机器学习模型中的参数。


X = [0.0, 1.0, 2.0, 3.0]

y = [0.0, 2.5, 3.3, 6.2]    


上面的数据中,X与y的关系可以近似的表示为一元线性关系, 即 y = WX


训练线性回归模型模型的过程实际上就是要找到一个合适的W  


我们将距离定义为:dis=y1-y2,可以计算出当W=5.0时预测的误差分别为:0、2.5、6.7、8.8


将上面所有点的预测误差相加得到18,误差有些大,模型还有调整的空间,令W=2时计算出误差为0,但实际情况除了d0之外其余点均存在预测误差。


所以我们不能简单的将每个点的预测误差相加得到误差值。


回归问题的损失函数通常用下面的函数表示:




  1. yi 为第i个训练样本的真实值


  1. h(xi) 为第i个训练样本特征值组合预测函数


损失函数在训练阶段能够指导模型的优化方向,在测试阶段能够用于评估模型的优劣。


import numpy as np
from sklearn.linear_model import LinearRegression
 
x = np.asarray([[80, 86],
                [82, 80],
                [85, 78],
                [90, 90],
                [86, 82],
                [82, 90],
                [78, 80],
                [92, 94]])
 
# 目标值
y = np.asarray([84.2, 80.6, 80.1, 90, 83.2, 87.6, 79.4, 93.4]).transpose()
 
# 使用 LinearRegression 求解
estimator = LinearRegression(fit_intercept=True)  
# 设置参数fit_intercept=True意味着在训练模型时会包含一个截距项(也就是y轴截距),这是线性回归中# # 通常需要的一个参数,用于捕捉数据在没有特征影响时的基准水平
estimator.fit(x, y)
print(estimator.coef_)
 
#
[0.3 0.7]



线性回归原理(二)+https://developer.aliyun.com/article/1544062?spm=a2c6h.13148508.setting.19.1fa24f0eRBJGs5


相关文章
|
7月前
|
机器学习/深度学习 算法 数据可视化
探索线性回归算法:从原理到实践
探索线性回归算法:从原理到实践【2月更文挑战第19天】
85 0
探索线性回归算法:从原理到实践
|
7月前
|
机器学习/深度学习 数据采集 算法
线性回归算法是什么
线性回归算法是什么
97 0
|
5月前
|
算法 Python
决策树算法详细介绍原理和实现
决策树算法详细介绍原理和实现
|
6月前
|
算法
线性回归原理(二)
**线性回归与梯度下降简介:** 梯度下降是一种优化算法,常用于线性回归,模拟下山过程寻找函数最小值。在单变量线性回归中,以函数f(x)=x²为例,从初始点开始,每次迭代沿着负梯度(函数增快的方向相反)移动,通过学习率α控制步长。重复此过程,逐步逼近最小值x=0。在多变量情况下,梯度是一个向量,指向函数增长最快的方向。评估线性回归模型性能的指标有平均绝对误差(MAE)、均方误差(MSE)和均方根误差(RMSE),它们衡量预测值与实际值的差距,越小表示模型越准确。
|
机器学习/深度学习 算法 数据可视化
决策树算法的原理是什么样的?
决策树算法的原理是什么样的?
232 0
决策树算法的原理是什么样的?
|
机器学习/深度学习 人工智能 算法
【机器学习】逻辑回归(Logistic Regression)(理论+图解+公式推导+代码实现)
【机器学习】逻辑回归(Logistic Regression)(理论+图解+公式推导+代码实现)
923 0
【机器学习】逻辑回归(Logistic Regression)(理论+图解+公式推导+代码实现)
|
机器学习/深度学习 算法 数据可视化
机器学习原理与实战 | 线性回归与逻辑回归
机器学习原理与实战 | 线性回归与逻辑回归
150 0
机器学习原理与实战 | 线性回归与逻辑回归
|
机器学习/深度学习 算法 数据挖掘
线性回归算法推导与实战(一)
本文属于 线性回归算法【AIoT阶段三】(尚未更新),这里截取自其中一段内容,方便读者理解和根据需求快速阅读。本文通过公式推导+代码两个方面同时进行,因为涉及到代码的编译运行,如果你没有NumPy,Pandas,Matplotlib的基础,建议先修文章:数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)
178 0
线性回归算法推导与实战(一)
|
机器学习/深度学习 算法 数据挖掘
线性回归算法推导与实战(二)
本文属于 线性回归算法【AIoT阶段三】(尚未更新),这里截取自其中一段内容,方便读者理解和根据需求快速阅读。本文通过公式推导+代码两个方面同时进行,因为涉及到代码的编译运行,如果你没有NumPy,Pandas,Matplotlib的基础,建议先修文章:数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)
239 0
线性回归算法推导与实战(二)
|
算法
线性回归的基本概念以及正规方程(二)
本文属于 线性回归算法【AIoT阶段三】(尚未更新),这里截取自其中一段内容,方便读者理解和根据需求快速阅读。
278 0
线性回归的基本概念以及正规方程(二)

热门文章

最新文章