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_

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM