网站密度,企业培训有哪些方面,青岛开发区制作网站公司,商标查询怎么查目录
线性回归#xff1a;理解与应用
什么是线性回归#xff1f;
一元线性回归
正态分布的重要性
多元线性回归
实例讲解
数据准备
数据分析
构建模型
训练模型
验证模型
应用模型
代码实现 线性回归#xff1a;理解与应用
线性回归是一种广泛使用的统计方法理解与应用
什么是线性回归
一元线性回归
正态分布的重要性
多元线性回归
实例讲解
数据准备
数据分析
构建模型
训练模型
验证模型
应用模型
代码实现 线性回归理解与应用
线性回归是一种广泛使用的统计方法用于建模和预测因变量与一个或多个自变量之间的线性关系。它是机器学习中最基础也是最重要的算法之一适用于多种实际场景如预测销售额、评估房地产价值、预测股票价格等。本文将介绍线性回归的基本概念并通过具体的例子来展示其应用。
什么是线性回归
线性回归是一种监督学习技术用于预测连续数值型的目标变量。它假设自变量与因变量之间存在线性关系并试图找到最佳拟合直线来描述这种关系。线性回归的核心在于最小化预测值与实际值之间的差距即误差平方和SSE。
线性回归可以分为两种主要类型一元线性回归和多元线性回归。
一元线性回归
当只有一个自变量时我们称之为一元线性回归。一元线性回归的数学模型可以表示为 yβ0β1xεyβ0β1xε 其中
yy 是因变量也称为响应变量。xx 是自变量也称为解释变量。β0β0 是截距项当 x0x0 时的 yy 的值。β1β1 是斜率表示自变量 xx 每增加一个单位时因变量 yy 的变化量。εε 是随机误差项表示模型未能捕捉到的影响 yy 的因素。
实例
以下为实验数据 下列为实例代码
import pandas as pd # 导入Pandas库用于数据处理
from matplotlib import pyplot as plt # 导入Matplotlib库的pyplot模块用于绘图
from sklearn.linear_model import LinearRegression # 导入Scikit-learn库的LinearRegression类用于线性回归分析data pd.read_csv(data.csv) # 读取CSV文件中的数据到Pandas DataFrameplt.scatter(data.广告投入, data.销售额) # 绘制散点图其中x轴为广告投入y轴为销售额
plt.show() # 显示图表corr data.corr() # 计算数据的相关系数矩阵lr LinearRegression() # 创建一个线性回归模型对象
x data[[广告投入]] # 选择DataFrame中的广告投入这一列作为特征变量
y data[[销售额]] # 选择DataFrame中的销售额这一列作为目标变量lr.fit(x, y) # 使用fit方法训练模型result lr.predict(x) # 使用训练好的模型对输入特征进行预测
score lr.score(x, y) # 计算模型对训练数据的解释方差比R²a round(lr.intercept_[0], 2) # 截距项保留两位小数
b round(lr.coef_[0][0], 2) # 斜率项保留两位小数
print(f线性回归模型为:y {b}x {a}) # 输出线性回归模型方程 运行出来的散点图为 结果为 正态分布的重要性
在一元线性回归中随机误差项 εε 通常假定为独立同分布的正态分布。这是因为正态分布是许多实际问题的基础假设之一它保证了回归参数估计的有效性和可靠性。正态分布的期望为 0方差相同为σ2^2。
多元线性回归
当有多个自变量时我们称之为多元线性回归。多元线性回归的数学模型可以表示为 yβ0β1x1β2x2…βpxpεyβ0β1x1β2x2…βpxpε 其中
yy 是因变量。x1,x2,…,xpx1,x2,…,xp 是自变量。β0β0 是截距项。β1,β2,…,βpβ1,β2,…,βp 是斜率表示每个自变量对因变量的影响。εε 是随机误差项。
实例讲解
为了更好地理解线性回归的应用我们以一个具体的实例来说明。假设我们有一组数据包含不良贷款、各项贷款余额、本年累计应收贷款、贷款项目个数以及本年固定资产投资额等信息。我们的目标是使用这些数据来预测不良贷款的金额。
数据准备
我们从 Excel 文件 案例.xlsx 中读取数据。 数据分析
我们首先分析这些变量之间的相关性以确定哪些变量可能与不良贷款有关联。
构建模型
我们选择使用 各项贷款余额 和 本年固定资产投资额 作为自变量不良贷款 作为因变量构建多元线性回归模型。
训练模型
使用数据集的一部分来训练模型其余部分用于验证模型的准确性。
验证模型
评估模型的性能例如使用 R² 分数来衡量模型的拟合程度。
应用模型
使用训练好的模型进行预测。
代码实现
下面是一个 Python 代码示例演示如何使用 pandas 和 scikit-learn 库来完成上述任务
import pandas as pd
from sklearn.linear_model import LinearRegression# 加载数据
data pd.read_excel(案例.xlsx)# 创建线性回归模型
lr_model LinearRegression()# 准备数据
X data[[各项贷款余额, 本年累计应收贷款, 贷款项目个数, 不良贷款]]
y data[[本年固定资产投资额]]# 训练模型
lr_model.fit(X, y)# 计算模型的决定系数 (R²)
score lr_model.score(X, y)
print(score)# 进行预测
predictions lr_model.predict([[100, 50, 100, 10]])
print(预测结果 (100亿元, 50亿元, 100个, 10亿元):, predictions)# 进行多个预测
predictions_multiple lr_model.predict([[120, 60, 110, 12], [110, 40, 90, 8]])
print(多个预测结果:, predictions_multiple)# 输出模型的截距和系数 ykxb
b lr_model.intercept_
k lr_model.coef_
print(系数形状:, k.shape)print(线性回归模型为y {:.2f} {:.2f} * 各项贷款余额 {:.2f} * 本年累计应收贷款 {:.2f} * 贷款项目个数 {:.2f} * 不良贷款..format(b[0], k[0][0], k[0][1], k[0][2], k[0][3])) 运行结果 结论
通过上述实例我们可以看到线性回归模型在实际问题中的应用。希望这篇文章能帮助你更好地理解线性回归的概念并学会如何使用它解决实际问题。