回歸模型總結(jié)筆記—scikit-learn

大家早安、午安、晚安,上一篇學(xué)習(xí)了一些常見線性回歸算法的核心思想以及簡單的編程實現(xiàn),本文主要是了解一些scikit-learn中的回歸模型的主要內(nèi)容和應(yīng)用方法,希望對大家有所幫助。正文開始~~

點開sklearn中的Regression部分的內(nèi)容,震驚了,光線性回歸模型就如圖1所示的一大片,更別說其他的非線性回歸方法了,但是本文還是對應(yīng)上一篇的內(nèi)容,只聊聊sklearn中的最小二乘法和嶺回歸。

圖1

一、廣義線性模型(Generalized Linear Models)

sklearn中的廣義線性模型指的是:通過對輸入特征值的線性組合來預(yù)測目標(biāo)值,正如圖2所述:

圖2

圖2中,coef_在某一定程度上表示特征值之間的相關(guān)程度;intercept_表示插入的一個值。

1、最小二乘法(Ordinary Least Squares)-對應(yīng)模型:LinearRegression

這個模型中權(quán)重的求解,主要是基于圖3中的最優(yōu)化模型:

圖3

class sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=1)

normalize->對數(shù)據(jù)進行歸一化,提升算法的魯棒性,使用該參數(shù)的前提四fit_intercept設(shè)置為true,否則無效。

1)標(biāo)準(zhǔn)化(Standardization)與歸一化(Normalization)

備注:其實在對特征值的預(yù)處理過程中,sklearn提供了不同的處理方法,詳情見Preprocessing data,此處只簡單介紹簡單的幾種。

Standardization->對數(shù)據(jù)進行標(biāo)準(zhǔn)化,通過scale函數(shù)將數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)正態(tài)分布數(shù)據(jù)(N~(0,1))(此函數(shù)可以規(guī)定處理的軸是axis=0或axis=1,0表示每個特征值下的全部數(shù)據(jù)處理為標(biāo)準(zhǔn)正太分布,1表示每個樣本的特征值做標(biāo)準(zhǔn)正態(tài)化處理)。

圖4 Z-score標(biāo)準(zhǔn)化方法

此外,還有一些方法,如最大最小值方法,將特征值限定在一定的范圍區(qū)間內(nèi),比如MinMaxScaler、MaxAbsScaler

什么時候進行標(biāo)準(zhǔn)化比較好(來之知乎大牛的解釋):

圖5

針對基于距離的分類或者回歸算法,需要scale數(shù)據(jù),這樣那些實際不重要、但是數(shù)值比較大的特征值,就不會因為數(shù)值大而影響決策

Normalization->主要思想是對每個樣本計算其p-范數(shù),然后對該樣本中每個元素除以該范數(shù),這樣處理的結(jié)果是使得每個處理后樣本的p-范數(shù)(l1-norm,l2-norm)等于1。p-范數(shù)的計算公式:||X||_p=(|x1|^p+|x2|^p+...+|xn|^p)^1/p。該方法主要應(yīng)用于文本分類和聚類中

具體操作的話,針對每個樣本,先求解該樣本的p范數(shù),然后讓該樣本的每個特征值除以該范數(shù).處理后每個樣本的p-范數(shù)和為1。適宜度量樣本的相似性。

關(guān)于標(biāo)準(zhǔn)化和歸一化,可以參考About Feature Scaling and Normalization

2、嶺回歸(Ridge Regression)->Ridge

sklearn中嶺回歸模型和上一篇中提到的嶺回歸的模型是一樣的,就是在最小平方誤差的基礎(chǔ)上加上對懲罰因子:

圖6 嶺回歸模型

class sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True, normalize=False, copy_X=True, max_iter=None, tol=0.001, solver='auto', random_state=None)

alpha->嶺參數(shù),默認(rèn)是1,數(shù)字越大,對應(yīng)的回歸系數(shù)越小,趨于穩(wěn)定;數(shù)字越小,回歸系數(shù)越大,回歸系數(shù)不穩(wěn)定。詳情見上一篇

舉個栗子:存在一組數(shù)據(jù),且找到完全符合y=w*x+c的w,利用嶺回歸模型,設(shè)置不同的alpha參數(shù)時,對比擬合得到的回歸參數(shù)coef_和w的平方誤差的區(qū)別。

1)準(zhǔn)備數(shù)據(jù)

圖7

2)設(shè)置不同的alpha參數(shù),對比不同alpha對回歸效果的影響

圖8

3)效果圖

圖9 不同嶺參數(shù)alpha對嶺回歸效果的影響

從上圖9可以看到,嶺參數(shù)會影響回歸參數(shù)的準(zhǔn)確度,當(dāng)alpha很大后,誤差非常大;當(dāng)alpha很小時,回歸參數(shù)都很大且基本不變。在alpha的變化中,發(fā)現(xiàn)有些回歸系數(shù)增大,有些減小,表明這些特征值之間存在相關(guān)性。發(fā)現(xiàn)在alpha=1時,準(zhǔn)確性效果還不錯。

好噠,先到這里,以后繼續(xù)深入探索,請見諒。晚安~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容