python 多元线性回归_学个明白:多元线性回归模型——来源与求解

v2-e2825fccab79c38fd3c9c95bbba2372b_1440w.jpg?source=172ae18b

写在前面:

理解多元线性回归模型前,要有一元线性回归的基础

略略略:学个明白:啥是一元线性回归模型——数据分析学习记录

一,抛出问题

生活中,通常决定一件事事情的因素有很多,就构成了多变量,比如预测广告的点击率可能需要广告的位置、类型、投入成本等等信息,最后预测的结果是点击率。

数据集可以按照以下方式表示:

v2-aa6da7b01f02dbe4f5a5f39687f36f5d_b.jpg

写成矩阵的样子就是这样:

v2-ce8f1f0fa18e91e64297be49c9d2eaf8_b.jpg

其中,

代表第
行第
个变量也就是第
个观测第
个数据,
代表第
个观测结果。我们知道构造目标函数需要一个和截距项误差项,那矩阵就有这四个了:

v2-e9b5def9c295210013d2a4c75074eb99_b.jpg

我们可以写出这个多元线性回归模型的公式:

v2-f352b613baf686e770c4ed6ebe13585a_b.jpg
简单提一下,这里的观测量
和自变量个数
一定要满足
,不然后面的矩阵无法求解(详细原因看后面的回归文章,还未写)

好了现在我们有公式了,可以进行求解了

二,求解多元线性回归模型

下面是公式的具体推导,不想看推到的朋友建议直接跳到结果:

v2-a5544678a5a244493f4f7208c37fd5c0_b.jpg

最后这个

就是我们需要的偏回归系数参数了,下面用python和一个产品利润的数据来实现多元线性回归模型。

三,建模实例

代码和数据获取:

v2-ab4a8eec3c535744ac6af6fbe42f0dd5_b.png

链接:https://pan.baidu.com/s/1rhT1B7aDKaR8juVoXk0Y1w

提取码:kemv

代码:

# 导入第三方模块

v2-85d0318db8f41e0f0b29772419933fb4_b.jpg

总结:

v2-fcade343d489308e7365ebd2776a14a7_b.jpg
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是关于Python中使用sklearn库实现多元线性回归模型的建立、评估和调优的详细介绍。 1. 多元线性回归模型简介 多元线性回归模型是一种用于建立因变量和多个自变量之间关系的统计模型。它假设因变量与自变量之间存在线性关系,并且能够通过最小二乘法等方法进行求解多元线性回归模型的一般形式为: y = β0 + β1x1 + β2x2 + … + βpxp + ε 其中,y 表示因变量,x1, x2, …, xp 表示自变量,β0, β1, β2, …, βp 表示回归系数,ε 表示误差项。多元线性回归的目标是求出最优的回归系数,使得模型的预测误差最小。 2. sklearn库实现多元线性回归模型的建立 sklearn库提供了LinearRegression类来实现多元线性回归模型的建立。下面是一个简单的示例代码: ```python from sklearn.linear_model import LinearRegression # 创建线性回归模型对象 model = LinearRegression() # 使用数据拟合模型 model.fit(X, y) # 打印回归系数 print(model.coef_) ``` 其中,X表示自变量的数据集,y表示因变量的数据集。model.fit(X, y)用于拟合模型,model.coef_用于获取回归系数。 3. 多元线性回归模型的评估 在建立多元线性回归模型后,需要对模型进行评估以确定其预测能力的好坏。常用的评估指标包括均方误差(MSE)、平均绝对误差(MAE)和决定系数(R2)等。 下面是一个使用sklearn库计算MSE和R2的示例代码: ```python from sklearn.metrics import mean_squared_error, r2_score # 使用模型进行预测 y_pred = model.predict(X) # 计算MSE和R2 mse = mean_squared_error(y, y_pred) r2 = r2_score(y, y_pred) # 打印评估结果 print("MSE:", mse) print("R2:", r2) ``` 4. 多元线性回归模型的调优 为了提高模型的预测能力,需要对模型进行调优。常用的调优方法包括特征选择和正则化等。 特征选择是指选择对因变量具有最强预测能力的自变量。sklearn库提供了SelectKBest、RFE和SelectFromModel等特征选择方法。下面是一个使用SelectKBest方法进行特征选择的示例代码: ```python from sklearn.feature_selection import SelectKBest, f_regression # 使用SelectKBest方法选择前两个最具预测能力的特征 selector = SelectKBest(f_regression, k=2) X_new = selector.fit_transform(X, y) # 使用新的特征集拟合模型 model.fit(X_new, y) ``` 正则化是指通过加入惩罚项来抑制模型过拟合的方法。sklearn库提供了Ridge、Lasso和ElasticNet等正则化方法。下面是一个使用Ridge方法进行正则化的示例代码: ```python from sklearn.linear_model import Ridge # 创建Ridge模型对象 model = Ridge(alpha=0.1) # 使用数据拟合模型 model.fit(X, y) ``` 其中,alpha是正则化强度的超参数,取值范围为[0, ∞]。alpha越大,惩罚力度越大,模型越不容易过拟合。 好的,以上就是关于Python中使用sklearn库实现多元线性回归模型的建立、评估和调优的介绍。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值