首页 > 编程知识 正文

数据挖掘线性回归程序python,python 线性回归

时间:2023-05-06 15:17:10 阅读:243792 作者:2761

多重线性回归(Multiple Linear Regression):

研究一个因变量与多个自变量之间的线性关系的方法。


一元线性回归是特殊的多重线性回归,多重线性回归分析步骤和一元线性回归一样:
回归分析的步骤:

根据预测目标,确定自变量和因变量。绘制散点图,确定回归模型类型。估计模型参数,建立回归模型。对回归模型进行检验。
回归方程的精度就是用来表示实际观测点和回归方程的拟合程度的指标,用调整判定系数来度量。
调整判定系数=ESS/TSS=1-(RSS/TSS)*(n-1/n-k-1)
其中:TSS:总离差平方和
ESS:回归平方和
RSS:残差平方和
n:样本个数
k:自变量个数
利用回归模型进行预测。

案例:现有10家已开店并营业的商店,有店铺面积、最近车站的距离及月营业额,现有一家新的店面,要求预测月营业额是多少
下面是分析过程:
第一步,根据预测目标,确定自变量和因变量。
因变量:月营业额
自变量:店铺面积、最近车站的距离。
代码演示:

import pandas;import matplotlib;from pandas.tools.plotting import scatter_matrix;#导入数据data = pandas.read_csv( r'C:Userswww12DesktopDApythonDM4.2data.csv')


第二步,绘制散点图,确定回归模型类型。

#绘制单个变量与因变量之间的散点图,并求出相关系数plt.scatter(data['店铺的面积'],data['月营业额'])plt.scatter(data['距离最近的车站'],data['月营业额'])


data[['店铺的面积','月营业额']].corr()Out[6]: 店铺的面积 月营业额店铺的面积 1.000000 0.892385月营业额 0.892385 1.000000data[['距离最近的车站','月营业额']].corr()Out[7]: 距离最近的车站 月营业额距离最近的车站 1.000000 -0.775083月营业额 -0.775083 1.000000

可以看出两个自变量都与因变量成较强相关性,因此可以采用多重线性回归模型来解决该问题:

#绘制多个变量两两之间的散点图:scatter_matrix()方法font = { 'family' : 'SimHei'}matplotlib.rc('font', **font)scatter_matrix( data[["店铺的面积", "距离最近的车站", "月营业额"]], figsize=(10, 10), diagonal='kde') #diagonal参数表示变量与变量本身之间的绘图方式,kde代表直方图#求相关系数矩阵data[["店铺的面积", "距离最近的车站", "月营业额"]].corr()Out[9]: 店铺的面积 距离最近的车站 月营业额店铺的面积 1.000000 -0.492155 0.892385距离最近的车站 -0.492155 1.000000 -0.775083月营业额 0.892385 -0.775083 1.000000

结果如图所示:

可以看到店铺面积与月营业额成正相关,距离车站的距离与月营业额成负相关,三个变量都基本上呈正态分布,接下来我们可以用多重线性回归模型进行建模了。
代码和简单线性回归完全一样:

x = data[["店铺的面积", "距离最近的车站"]]y = data[["月营业额"]]from sklearn.linear_model import LinearRegression#建模lrModel = LinearRegression()#训练模型lrModel.fit(x, y)#评分lrModel.score(x, y)Out[24]: 0.9452358526817111 #调整判定系数评分较高,模型拟合较好#预测lrModel.predict([[10, 110],[20, 110]])Out[26]: array([[442.96160353], [858.09638609]]) #查看参数 lrModel.coef_Out[28]: array([[41.51347826, -0.34088269]])#查看截距lrModel.intercept_Out[29]: array([65.32391639]) API小结:

矩阵数据绘制散点图:
pandas.tools.plotting.scatter_matrix(matrix,figsize,digonal)

matrix:矩阵figsize:绘图尺寸digonal:变量与本身之间的绘图函数kde为直方图。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。