下面的式子就是一個(gè)線性回歸,其目標(biāo)值是輸入變量的線性組合,預(yù)測(cè)值可以表示為:
1.1.2 普通的最小二乘法
線性回歸的思路是:用線性系數(shù)w來(lái)模擬模型,通過(guò)調(diào)整系數(shù)的值,使得預(yù)測(cè)值和準(zhǔn)確值之間的均方誤差最小。數(shù)學(xué)上可表示為:
下面為線性擬合的代碼及解釋:
#從sklearn中導(dǎo)入linear_model模塊包
>>> from sklearn import linear_model
#線性回歸類,并且實(shí)例化
>>> clf = linear_model.LinearRegression()
#調(diào)用fit方法進(jìn)行擬合
#原型:clf.fit(X, y, sample_weight=None),其中X=[[0, 0], [1, 1], [2, 2]],y=[0,1,2]
>>> clf.fit ([[0, 0], [1, 1], [2, 2]],[0,1,2])
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
#得到w權(quán)值
>>> clf.coef_
array([ 0.5, 0.5])
然而,普通二乘法的系數(shù)估計(jì)依賴于模型各項(xiàng)的獨(dú)立性(這樣求解線性方程組才會(huì)有確切的解)。當(dāng)矩陣的列之間是近似線性關(guān)系的時(shí)候,矩陣就是奇異的,導(dǎo)致在用最小二乘估計(jì)的時(shí)候就會(huì)產(chǎn)生隨機(jī)錯(cuò)誤,產(chǎn)生較大的方差。這個(gè)地方是在選取特征的時(shí)候尤其應(yīng)該注意的。
線性回歸舉例
為了得到回歸的二維圖,這個(gè)例子只用了糖尿病數(shù)據(jù)集的第一個(gè)特征。如圖所示,線性回歸嘗試畫一條直線,這條直線能夠使均方誤差最小。在下面也計(jì)算了系數(shù)、均方誤差、還有方差。