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