1. 程式人生 > >Python資料探勘實戰——迴歸

Python資料探勘實戰——迴歸

一、迴歸分析(Regression Analysis)

    研究自變數與因變數之間關係形式的分析方法,它主要是通過建立 因變數y 與影響它的自變數Xi(i=1,2,3....)之間的迴歸模型,來預測 因變數y 的發展趨勢。

二、迴歸分析的分類
2.1線性迴歸分析:簡單線性迴歸、多重線性迴歸

2.2非線性迴歸分析:邏輯迴歸、神經網路

三、簡單線性迴歸模型

y = a + bx + e(一元一次方程)
1)y——因變數
2)x——自變數
3)a——常數項,截距
4)b——迴歸係數,斜率

5)e——隨機誤差

3.1迴歸分析的步驟
1)根據預測目標,確定自變數和因變數

2)繪製散點圖,確定迴歸模型型別

3)估計模型引數,建立迴歸模型

4)對迴歸模型進行檢驗

5)利用迴歸模型進行預測

3.2案例

步驟一:
根據預測目標,確定自變數(已知)和因變數(未知)
問題:投入50萬的廣告費用,能夠帶來多少的銷售額

因此,廣告費用是自變數,銷售額是因變數

步驟二:

繪製散點圖,確定迴歸模型型別

步驟三:
估計模型引數,建立迴歸模型

最小2乘法(最小平方法):

實際點和估計點之間的距離的平方和達到最小。

步驟四:

步驟五:

利用迴歸模型進行預測:

    根據已有的自變數資料,預測需要的因變數對應的結果。

四、程式碼實戰

data.csv:


import numpy;
from pandas import read_csv;
from matplotlib import pyplot as plt;
from sklearn.linear_model import LinearRegression

data = read_csv(
    'C:\\Python_DM\\4.1\\data.csv'
)

#第二步,畫出散點圖,求x和y的相關係數
plt.scatter(data.廣告投入, data.銷售額)

data.corr()

#第三步,估計模型引數,建立迴歸模型,sklearn整合的方法,直接呼叫
lrModel = LinearRegression()

x = data[['廣告投入']]
y = data[['銷售額']]

#訓練模型,引數a和引數求解的過程
lrModel.fit(x, y)

#第四步、對迴歸模型進行檢驗
lrModel.score(x, y)

#第五步、利用迴歸模型進行預測(輸入未知的因變數陣列)
lrModel.predict([[50], [40], [30]])

"""
#檢視截距
alpha = lrModel.intercept_[0]

#檢視引數
beta = lrModel.coef_[0][0]

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