python多重线性回归分析
多重线性回归分析
定义
多重线性回归模型:Mulitiple Linear Regression
包含两个或两个以上自变量的线性回归模型
多元线性回归模型:Multivariate Linear Regression
包含两个或两个以上因变量的线性回归模型
数据准备
#多重线性回归
#数据准备
import pandas as pd
df=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')
df
根据预测目标,确定自变量和因变量
#多重线性回归
#数据准备
import pandas as pd
df=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')
#定义自变量
x=df[['营销费用(万元)','客流量(万人次)']]
#定义因变量
y=df[['销售额(万元)']]
#计算相关系数
df['营销费用(万元)'].corr(df['销售额(万元)'])
#多重线性回归
#数据准备
import pandas as pd
df=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')
#定义自变量
x=df[['营销费用(万元)','客流量(万人次)']]
#定义因变量
y=df[['销售额(万元)']]
#计算相关系数
df['客流量(万人次)'].corr(df['销售额(万元)'])
绘制散点图,确定回归模型类型
#多重线性回归
#数据准备
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')
#定义自变量
x=df[['营销费用(万元)','客流量(万人次)']]
#定义因变量
y=df[['销售额(万元)']]
#计算相关系数
df['营销费用(万元)'].corr(df['销售额(万元)'])
df['客流量(万人次)'].corr(df['销售额(万元)'])
#营销费用 作为x轴
#销售额 作为y轴
#绘制散点图
df.plot('营销费用(万元)','销售额(万元)',kind='scatter')
#多重线性回归
#数据准备
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')
#定义自变量
x=df[['营销费用(万元)','客流量(万人次)']]
#定义因变量
y=df[['销售额(万元)']]
#计算相关系数
df['营销费用(万元)'].corr(df['销售额(万元)'])
df['客流量(万人次)'].corr(df['销售额(万元)'])
#营销费用 作为x轴
#销售额 作为y轴,绘制散点图
df.plot('营销费用(万元)','销售额(万元)',kind='scatter')
#客流量 作为x轴
#销售额 作为y轴,绘制散点图
df.plot('客流量(万人次)','销售额(万元)',kind='scatter')
估计模型参数,建立线性回归模型
#多重线性回归
#数据准备
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')
#定义自变量
x=df[['营销费用(万元)','客流量(万人次)']]
#定义因变量
y=df[['销售额(万元)']]
#计算相关系数
df['营销费用(万元)'].corr(df['销售额(万元)'])
df['客流量(万人次)'].corr(df['销售额(万元)'])
#营销费用 作为x轴
#销售额 作为y轴,绘制散点图
df.plot('营销费用(万元)','销售额(万元)',kind='scatter')
#客流量 作为x轴
#销售额 作为y轴,绘制散点图
df.plot('客流量(万人次)','销售额(万元)',kind='scatter')
#导入sklearn.linear_model 模块中的LinearRegression函数
from sklearn.linear_model import LinearRegression
#使用线性回归模型进行建模
lrModel= LinearRegression()
#使用自变量x和因变量y训练模型
lrModel.fit(x,y)
#多重线性回归
#数据准备
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')
#定义自变量
x=df[['营销费用(万元)','客流量(万人次)']]
#定义因变量
y=df[['销售额(万元)']]
#计算相关系数
df['营销费用(万元)'].corr(df['销售额(万元)'])
df['客流量(万人次)'].corr(df['销售额(万元)'])
#营销费用 作为x轴
#销售额 作为y轴,绘制散点图
df.plot('营销费用(万元)','销售额(万元)',kind='scatter')
#客流量 作为x轴
#销售额 作为y轴,绘制散点图
df.plot('客流量(万人次)','销售额(万元)',kind='scatter')
#导入sklearn.linear_model 模块中的LinearRegression函数
from sklearn.linear_model import LinearRegression
#使用线性回归模型进行建模
lrModel= LinearRegression()
#使用自变量x和因变量y训练模型
lrModel.fit(x,y)
#使用训练得到的模型的coef_属性,即可得到模型的参数b,
#使用训练得到的模型的intercept_属性,即可得到模型的参数a
#查看参数
lrModel.coef_
# 查看截距
lrModel.intercept_
对回归模型进行验证
#多重线性回归
#数据准备
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')
#定义自变量
x=df[['营销费用(万元)','客流量(万人次)']]
#定义因变量
y=df[['销售额(万元)']]
#计算相关系数
df['营销费用(万元)'].corr(df['销售额(万元)'])
df['客流量(万人次)'].corr(df['销售额(万元)'])
#营销费用 作为x轴
#销售额 作为y轴,绘制散点图
df.plot('营销费用(万元)','销售额(万元)',kind='scatter')
#客流量 作为x轴
#销售额 作为y轴,绘制散点图
df.plot('客流量(万人次)','销售额(万元)',kind='scatter')
#导入sklearn.linear_model 模块中的LinearRegression函数
from sklearn.linear_model import LinearRegression
#使用线性回归模型进行建模
lrModel= LinearRegression()
#使用自变量x和因变量y训练模型
lrModel.fit(x,y)
#使用训练得到的模型的coef_属性,即可得到模型的参数b,
#使用训练得到的模型的intercept_属性,即可得到模型的参数a
#查看参数
lrModel.coef_
# 查看截距
lrModel.intercept_
#计算模型的精度
lrModel.score(x,y)
利用回归模型进行预测
#多重线性回归
#数据准备
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')
#定义自变量
x=df[['营销费用(万元)','客流量(万人次)']]
#定义因变量
y=df[['销售额(万元)']]
#计算相关系数
df['营销费用(万元)'].corr(df['销售额(万元)'])
df['客流量(万人次)'].corr(df['销售额(万元)'])
#营销费用 作为x轴
#销售额 作为y轴,绘制散点图
df.plot('营销费用(万元)','销售额(万元)',kind='scatter')
#客流量 作为x轴
#销售额 作为y轴,绘制散点图
df.plot('客流量(万人次)','销售额(万元)',kind='scatter')
#导入sklearn.linear_model 模块中的LinearRegression函数
from sklearn.linear_model import LinearRegression
#使用线性回归模型进行建模
lrModel= LinearRegression()
#使用自变量x和因变量y训练模型
lrModel.fit(x,y)
#使用训练得到的模型的coef_属性,即可得到模型的参数b,
#使用训练得到的模型的intercept_属性,即可得到模型的参数a
#查看参数
lrModel.coef_
# 查看截距
lrModel.intercept_
#计算模型的精度
lrModel.score(x,y)
#使用predict函数,把自变量作为参数传入
pX=pd.DataFrame({'营销费用(万元)':[20],'客流量(万元)':[5]})
pX
时间 | 内容 | 备注 |
---|---|---|
2020/7/7 | python 多重线性回归分析 | 增加数学公式 |
这两次开始使用在线Markdown进行内容编辑,效果比过去好多了。
数据分析时,需要输入数学公式,可以使用typora
效果:
今天也用Markdown 作甘特图让工作日井然有序
推荐:typora+Markdown保存.md文件。