基于jupyter notebook的python编程-----运用sklearn库,导入文件数据模拟多元线性回归分析


上次的人工智能博客,林君学长给大家介绍 如何运用python得sklearn库进行一元线性回归的分析
然而,在现实生活中,很多事物的因素都不止一个原因,都是由多个原因导致的,也就是我,我们需要模拟更多的自变量去预测因变量的取值,这是现实中的普遍的问题,也是我们需要用计算机软件去解决的问题
因此,本次博客,林君学长将给大家介绍,如何使用sklearn对多元线性回归进行模拟分析

一、运行jupyter notebook,搭建python环境

1、打开Windows终端命令行,输入jupyter notebook,打开我们的jupyter工具,如下所示:

在这里插入图片描述

2、在jupyter的web网页中创建python文件,如下所示:

在这里插入图片描述

3、现在就可以在jupyter的代码行里面输入我们的代码啦!

二、以下列的xlsx表格文件为例,编写我们的python代码的分解步骤

在这里插入图片描述
文件内容如下:
在这里插入图片描述
表格文件中为自变量X1、X2、X3与因变量Y的线性回归关系

1、导入我们需要的基本库

from sklearn import linear_model        #表示,可以调用sklearn中的linear_model模块进行线性回归。
import pandas as pd
import seaborn as sns  
import matplotlib.pyplot as plt
%matplotlib inline

1)、其中seaborn库的数据可视化效果比较好看,其实seaborn也应该属于matplotlib的内部包,只是需要再次的单独安装。
如果没有的同学,可以在python的终端命令行里输入如下命令安装:

pip install seaborn

2、导入我们数据文件[多元线性回归.xlsx]

data=pd.read_excel('D:\\多元线性回归.xlsx')
#print(data.head())#打印数据的前5行
#print(data.tail())#打赢数据的后5行

上面注释到打赢输出内容为,打印我们表格文件中的数据,看我们的数据是不是完全导入进去了!

3、为我们的x,y赋值采样

1)、构建X(特征向量)和y(标签列)

X=data[['X1','X2','X3']]   
y=data['Y']    
y=data.Y    

上述分别把标题X1\X2\X3赋值给因变量X,将因变量赋值给y,其中:X是一个特征矩阵,y是一个NumPy向量。

4、构建训练集与测试集

model = linear_model.LinearRegression()
model.fit(X,y)   

5、下面就是运用sklearn库进行数据处理,求y=ax1+a1x2+a2x3+b中的系数和截距

print("X1=",model.coef_[0])
print("X2=",model.coef_[1])
print("X3=",model.coef_[2])
print("截距为=",model.intercept_)

以上的数据处理不需要我们去管,是第三方库sklearn写好了的,我们直接拿来用就ok

6、输出打印我们求出的线性回归方程

print("多元线性回归方程为:y=",model.coef_[0],"X1+",model.coef_[1],"X2+",model.coef_[2],"X3+",model.intercept_)

7、通过seaborn库画出拟合曲线图

sns.pairplot(data, x_vars=['X1','X2','X3'], y_vars='Y', height=3, aspect=0.8, kind='reg')  
plt.show()  

以上就是运用sklearn库来进行多元线性方程的回归分析,过程比较简单,基本就是运用第三方的库!

三、python利用sklearn库分析回归方程的全部源码

import pandas as pd
import seaborn as sns  
import matplotlib.pyplot as plt
from sklearn import linear_model
%matplotlib inline
data=pd.read_excel('D:\\多元线性回归.xlsx')
#print(data.head())
#print(data.tail())   
X=data[['X1','X2','X3']]   
y=data['Y']    
y=data.Y    
model = linear_model.LinearRegression()
model.fit(X,y)
print("X1=",model.coef_[0])
print("X2=",model.coef_[1])
print("X3=",model.coef_[2])
print("截距为=",model.intercept_)
print("多元线性回归方程为:y=",model.coef_[0],"X1+",model.coef_[1],"X2+",model.coef_[2],"X3+",model.intercept_)
sns.pairplot(data, x_vars=['X1','X2','X3'], y_vars='Y', height=3, aspect=0.8, kind='reg')  
plt.show()  

四、[shift+enter]运行我们的代码

在这里插入图片描述
可以看到,以上就是我们自变量X1、X2、X3对于因变量Y的多元线性回归分析
seaborn的pairplot函数绘制X的每一维度和对应Y的散点图。通过设置heightaspect参数来调节显示的大小和比例。可以从图中看出,X1特征和Y是有比较强的线性关系的,而X2和Y线性关系弱一些,X3和Y线性关系更弱。通过加入一个参数kind=‘reg’,seaborn可以添加一条最佳拟合直线95%的置信带
以上就是我们本次博客的全部内容,希望通过本次博客,大家可以更好的理解如何运用第三方库sklearn求多元线性回归方程哦!
遇到问题的小伙伴记得在评论区留言,学长给你们耐心解答!
陈一月的又一天编程岁月^ _ ^

  • 4
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈一月的编程岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值