一、导入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_ |