Python数据挖掘—回归—线性回归

简单线性回归

步骤:

1、读取数据

2、画出散点图,求x和y 的相关系数:plt.scatter(x,y),x和y是dataframe

3、估计参数模型,建立回归模型:lrModel=LinearRegression()

4、训练模型: lrModel.fit(x,y)

5、对回归模型进行检验: lrModel.score(x,y)

6、利用回归模型进行预测:  lrModel.predict()

 1 import numpy
 2 from pandas import read_csv
 3 from matplotlib import pyplot as plt
 4 from sklearn.linear_model import LinearRegression
 5 
 6 data=read_csv(
 7     "C:\Users\Jw\Desktop\python_work\Python数据挖掘实战课程课件\4.1\data.csv")
 8 
 9 #第二步,画出散点图,求x和y 的相关系数
10 plt.scatter(data.广告投入,data.销售额)
11 
12 data.corr()
13 
14 #第三部,估计模型参数,建立回归模型
15 lrModel=LinearRegression()
16 
17 x=data[["广告投入"]]      #一个[]是series,两个是dataframe
18 y=data[["销售额"]]
19 
20 
21 #训练模型
22 lrModel.fit(x,y)
23 
24 
25 #第四步,对回归模型进行检验
26 lrModel.score(x,y)
27 
28 #第五步,利用回归模型进行预测
29 lrModel.predict([[50],[40],[30]])

同时还可以看截距与斜率:

alpha=lrModel.intercept_[0]

beta=lrModel.coef_[0][0]

alpha+beta*numpy.array([50,40,30])

 

多重线性回归

步骤:

1、读取数据

2、建模

3、训练模型

4、评分

5、预测

 1 import pandas;
 2 import matplotlib;
 3 from pandas.tools.plotting import scatter_matrix;
 4 
 5 data = pandas.read_csv(
 6     'D:\PDM\4.2\data.csv'
 7 )
 8 
 9 font = {
10     'family' : 'SimHei'
11 }
12 matplotlib.rc('font', **font)
13 
14 scatter_matrix(
15     data[["店铺的面积", "距离最近的车站", "月营业额"]], 
16     figsize=(10, 10), diagonal='kde'
17 )
18 
19 data[["店铺的面积", "距离最近的车站", "月营业额"]].corr()
20 
21 x = data[["店铺的面积", "距离最近的车站"]]
22 y = data[["月营业额"]]
23 
24 from sklearn.linear_model import LinearRegression
25 #建模
26 lrModel = LinearRegression()
27 #训练模型
28 lrModel.fit(x, y)
29 #评分
30 lrModel.score(x, y)
31 #预测
32 lrModel.predict([10, 110])
33 
34 lrModel.predict([[10, 110],[20, 110]])
35 
36 #查看参数
37 lrModel.coef_
38 
39 #查看截距
40 lrModel.intercept_
原文地址:https://www.cnblogs.com/U940634/p/9741280.html