下面介紹的是一組用於回歸的方法,這些方法的目標值是輸入變數的線性組合。用
作為**值。
貫穿模組,我們指定向量
為coef_(係數),
為intercept_(截距)。
要使用廣義線性模型實現分類,詳見logistic回歸。
線性回歸擬合以係數
最小化可觀測到的資料的響應與線性模型**的響應的殘差和的平方,用數學公式表示即:
linearregression 對陣列x,y使用fit方法,並將結果的係數
存放在coef_中:
>>> from sklearn import然而,常規最小二乘法係數的估計依賴於模型項的獨立(資料點?屬性?),當項相關,以及矩陣x的列近似線性相關,矩陣變得近似於相關,這樣的結果是,最小而成估計變得對觀測值中的隨機異常點非常敏感,因此產生巨大的偏差。舉例來說,這種多重共線性的情況在實驗資料中時常出現。linear_model
>>> reg =linear_model.linearregression()
>>> reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
linearregression(copy_x=true, fit_intercept=true, n_jobs=1, normalize=false)
>>>reg.coef_
array([ 0.5, 0.5])
例子1.1.1.1.常規最小二乘法的複雜度
這個方法使用對x的單值分解,如果x是(n,p)的矩陣,那麼這個方法的消耗是o(np2),假設n≥p。
嶺回歸通過對係數施加乙個罰項來改善常規最小二乘法的一些問題。嶺係數最小化經過罰項優化的平方殘差和,數學表達為:
這裡的α>0是乙個複雜的引數用於控制收縮量:α值越大收縮量越大,因此模型係數對共線性問題更加健壯。(α是乙個罰項,值越大對異常點的容忍度越大,因此模型更健壯)。
正如其他模型一樣,ridge對陣列x和y使用fit方法,並將線性模型的係數
存放在coef_中。
>>> from sklearn import例子嶺係數作為正則化的函式linear_model
>>> reg = linear_model.ridge (alpha = .5)
>>> reg.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1])
ridge(alpha=0.5, copy_x=true, fit_intercept=true, max_iter=none,
normalize=false, random_state=none, solver='
auto
', tol=0.001)
>>>reg.coef_
array([ 0.34545455, 0.34545455])
>>>reg.intercept_
0.13636...
使用稀疏特徵對文字文件進行分類
1.1.2.1嶺複雜度
這個方法的複雜度與常規最小二乘法一樣。
1.1.2.2正則花引數設定:通用交叉驗證
ridgecv使用α引數的內建交叉驗證實現嶺回歸。這個物件除了預設設定通用交叉認證(gcv)之外,與gridsearchcv採用同樣的工作方式,gcv是留一法交叉驗證的有效形式:
>>> from sklearn import參考閱讀:「notes on regularized least squares」, rifkin & lippert (technical report, course slides).linear_model
>>> reg = linear_model.ridgecv(alphas=[0.1, 1.0, 10.0])
>>> reg.fit([[0, 0], [0, 0], [1, 1]], [0, .1, 1])
ridgecv(alphas=[0.1, 1.0, 10.0], cv=none, fit_intercept=true, scoring=none,
normalize=false)
>>>reg.alpha_
0.1
lasso 是乙個用於估算稀疏係數的線性模型,由於它傾向於用更少的引數值去解決問題,這有效減少了給定解下相互依賴變數的數量,因此它在一些情景下非常好用。因此,lasso以及它的變種是壓縮感知領域的基礎。在特定條件下,它可以恢復非零矩陣的精準集(通訊技術中的訊號復原)。
數學表達下,模型由基於l1prior作為正則化訓練的線性模型組成。用於最小化的函式是:
lasso估計通過增加項
來解決最小二乘法罰項,其中α是乙個常量,
是引數向量的l1norm(範數)。
lasso類使用座標下降演算法來擬合係數。least angle regression是另外一種演算法:
>>> from sklearn import對於低階任務lasso_path函式十分好用,這個函式沿著可能值的全路徑計算係數。linear_model
>>> reg = linear_model.lasso(alpha = 0.1)
>>> reg.fit([[0, 0], [1, 1]], [0, 1])
lasso(alpha=0.1, copy_x=true, fit_intercept=true, max_iter=1000,
normalize=false, positive=false, precompute=false, random_state=none,
selection='
cyclic
', tol=0.0001, warm_start=false)
>>> reg.predict([[1, 1]])
array([ 0.8])
例子注釋:用lasso進行特徵選擇
lassoregression產生稀疏模型,因此可以用它來進行特徵選擇,詳見 l1-based feature selection
.注釋:隨機稀疏
對於特徵選擇或稀疏恢復,可使用 randomized sparse models.
1.1.3.1設定正則化引數
α引數控制稀疏被評估的係數的稀疏階數。
1.1.3.1.1使用交叉驗證
廣義線性模型
廣義線性模型是線性模型的擴充套件,主要是對非正態因變數的分析 廣義線性擬合的核心是最大似然估計,而不是最小二乘 擬合模型如下 y 0 pj 1 jx j 其中,beta是係數,mu是優勢比的對數,beta係數是對優勢比的影響。通過擬合求得的就是 我們可以通過兩個例子看一下兩種變數 類別型 自變數x ...
廣義線性模型
之前提到過,線性回歸模型有三個限制 響應變數服從正態分佈,響應變數和解釋變數之間服從線性關係,方差不變。其實在構建乙個線性模型的時候,除了上述的兩個要求,我們還需要對解釋變數進行具體的分析,主要有幾點,首先是解釋變數之間的相互作用 interaction 對結果的影響,簡單來說就是模型不僅僅受因素a...
廣義線性模型和線性回歸
首先術語廣義線性模型 glm 通常是指給定連續和 或分類 變數的連續響應變數的常規線性回歸模型。它包括多元線性回歸,以及anova和ancova 僅具有固定效果 形式為 yi n x 2 其中xi包含已知的協變數,包含要估計的係數。這些模型使用最小二乘和加權最小二乘擬合。術語廣義線性模型 glim或...