線性回歸
線性回歸的基本假設(shè)
了解一個(gè)算法终惑,必須得了解算法的適用條件饲鄙。在用線性回歸之前谬以,我們必須得知道在什么條件下强饮,才能用線性回歸去分析數(shù)據(jù)。
- 線性性 & 可加性
假設(shè)因變量為为黎,自變量為
邮丰,
行您,則回歸分析的默認(rèn)假設(shè)為
線性性:每變動(dòng)一個(gè)單位,
相應(yīng)變動(dòng)
個(gè)單位剪廉,與
的絕對(duì)數(shù)值大小無關(guān)娃循。
可加性:對(duì)
的影響是獨(dú)立于其他自變量(如
)的。
- 誤差項(xiàng)(
)之間應(yīng)相互獨(dú)立斗蒋。
若不滿足這一特性淮野,模型具有自相關(guān)性(Autocorrelation)。
- 自變量
之間應(yīng)相互獨(dú)立吹泡。
若不滿足這一特性,模型具有多重共線性性(Multicollinearity)经瓷。
- 誤差項(xiàng)(
)的方差應(yīng)為常數(shù)爆哑。
若滿足這一特性,模型具有同方差性(Homoskedasticity)舆吮,若不滿足揭朝,則為異方差性(Heteroskedasticity)。
- 誤差項(xiàng)(
)應(yīng)呈正態(tài)分布色冀。
線性回歸實(shí)現(xiàn)
使用單個(gè)特征來預(yù)測(cè)結(jié)果潭袱。在這種回歸模型中,我們嘗試最小化預(yù)測(cè)值和真實(shí)值之間的損失锋恬,來得到最佳的擬合性能屯换。
第一步:數(shù)據(jù)預(yù)處理
回歸模型中的數(shù)據(jù)預(yù)處理過程遵循第一天課程的數(shù)據(jù)處理流程,主要包括導(dǎo)入所需的庫与学,導(dǎo)入所需的數(shù)據(jù)集彤悔,檢查缺失數(shù)據(jù),分離數(shù)據(jù)集以及特征縮放索守。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
dataset = pd.read_csv('studentscores.csv')
X = dataset.iloc[ : , : 1 ].values
Y = dataset.iloc[ : , 1 ].values
from sklearn.cross_validation import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split( X, Y, test_size = 1/4, random_state = 0)
第二步:模型擬合
sklearn中模型建立步驟:
首先創(chuàng)建一個(gè) LinearRegression晕窑,其次用 LinearRegression 類的 fit() 方法來用訓(xùn)練數(shù)據(jù)去擬合我們的目標(biāo) regressor,最后可以用summary去查看模型結(jié)果卵佛。
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)
第三步:結(jié)果預(yù)測(cè)
使用我們訓(xùn)練好的模型杨赤,在測(cè)試集上預(yù)測(cè)我們的結(jié)果。
首先截汪,我們?yōu)轭A(yù)測(cè)結(jié)果創(chuàng)建一個(gè)向量 Y-pred疾牲。然后,我們對(duì)訓(xùn)練好的 regressor 使用 LinearRegression 類的預(yù)測(cè)方法來進(jìn)行預(yù)測(cè)挫鸽。
Y_pred = regressor.predict(X_test)
第四步:結(jié)果可視化
最后一步是可視化擬合預(yù)測(cè)結(jié)果说敏,
plt.scatter(X_train , Y_train, color = 'red')
plt.plot(X_train , regressor.predict(X_train), color ='blue')
plt.scatter(X_test , Y_test, color = 'red')
plt.plot(X_test , regressor.predict(X_test), color ='blue')
下一章我們會(huì)介紹多元線性回歸的實(shí)現(xiàn)以及線性回歸中若假設(shè)不滿足會(huì)出現(xiàn)的問題哈,請(qǐng)關(guān)注點(diǎn)贊哈丢郊,吼盔沫。