簡單線性回歸
步驟:
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_