python
主页 > 脚本 > python >

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

2020-03-25 | 秩名 | 点击:

一、导入excel文件和相关库

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

显示文件大小

?
1
data.shape
 

?
1
data
 

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#绘制多个变量两两之间的散点图: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"]]
 

三、导入sklearn

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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_
 

结果如下:

回归方程为:y=41.51x1-0.34x2+65.32

四、python全部代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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_

原文链接:https://blog.csdn.net/qq_42585108/article/details/105064820
相关文章
最新更新