基于Jupyter notebooks采用sklearn库实现多元回归方程编程

采用sklearn库实现多元回归方程编程

    • 一、导入excel文件和相关库
    • 二.绘制多个变量两两之间的散点图:scatter_matrix()方法
    • 三、导入sklearn
    • 四、python全部代码

一、导入excel文件和相关库

import pandas;
import matplotlib;
from pandas.tools.plotting import scatter_matrix;
 
data = pandas.read_csv("D:\\面积距离车站.csv",engine='python',encoding='utf-8')

显示文件大小

data.shape

在这里插入图片描述

data

基于Jupyter notebooks采用sklearn库实现多元回归方程编程_第1张图片

二.绘制多个变量两两之间的散点图:scatter_matrix()方法

#绘制多个变量两两之间的散点图:scatter_matrix()方法
font = {
    'family' : 'SimHei'
}

matplotlib.rc('font', **font)
scatter_matrix(
    data[["area","distance", "money"]], 
    figsize=(10, 10), diagonal='kde'
)    #diagonal参数表示变量与变量本身之间的绘图方式,kde代表直方图
#求相关系数矩阵
data[["area", "distance", "money"]].corr()

x = data[["area", "distance"]]
y = data[["money"]]

基于Jupyter notebooks采用sklearn库实现多元回归方程编程_第2张图片

三、导入sklearn

from sklearn.linear_model import LinearRegression

#建模
lrModel = LinearRegression()

#训练模型
lrModel.fit(x, y)

#评分
R2=lrModel.score(x, y)
print("R的平方:",R2)

#预测
lrModel.predict([[10, 110],[20, 110]])

#查看参数
lrModel.coef_

#查看截距
lrModel.intercept_

结果如下:基于Jupyter notebooks采用sklearn库实现多元回归方程编程_第3张图片
回归方程为:y=41.51x1-0.34x2+65.32

四、python全部代码

import pandas;
import matplotlib;
from pandas.tools.plotting import scatter_matrix;

data.shape

#绘制多个变量两两之间的散点图:scatter_matrix()方法
font = {
    'family' : 'SimHei'
}

matplotlib.rc('font', **font)
scatter_matrix(
    data[["area","distance", "money"]], 
    figsize=(10, 10), diagonal='kde'
)    #diagonal参数表示变量与变量本身之间的绘图方式,kde代表直方图
#求相关系数矩阵
data[["area", "distance", "money"]].corr()

x = data[["area", "distance"]]
y = data[["money"]]

from sklearn.linear_model import LinearRegression

#建模
lrModel = LinearRegression()

#训练模型
lrModel.fit(x, y)

#评分
R2=lrModel.score(x, y)
print("R的平方:",R2)

#预测
lrModel.predict([[10, 110],[20, 110]])

#查看参数
lrModel.coef_

#查看截距
lrModel.intercept_

你可能感兴趣的:(python学习,python)