線性回歸的改進 嶺回歸

2021-10-12 16:25:09 字數 1866 閱讀 3807

嶺回歸,其實也是一種線性回歸。只不過在演算法建立回歸方程時候,加上正則化的限制,從而達到解決過擬合的效果。

normalize:資料是否進行標準化

ridge.coef_:回歸權重

ridge.intercept_:回歸偏置

ridge方法相當於sgdregressor(penalty='l2',loss="squared_loss"),只不過sgdregressor實現了乙個普通的隨機梯度下降學習,推薦使用ridge(實現了sag)

class

_baseridgecv

(linearmodel)

:def

___init__

(self, alphas=

(0.1, 1.0

,10.0

), fit_intercept=

true

, normalize=

false

, scoring=

none

, cv=

none

, gcv_mode=

none

,store_cv_values=

false

):

from  sklearn.datasets import load_boston

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import standardscaler

from sklearn.linear_model import ridge

from sklearn.metrics import mean_squared_error

if __name__ ==

'__main__'

:# 獲取資料

boston = load_boston(

)# 劃分資料

x_train, x_test, y_train, y_test = train_test_split(boston.data, boston.target, random_state=22)

# 標準化

transfer = standardscaler(

) x_train = transfer.fit_transform(x_train)

x_test = transfer.fit_transform(x_test)

# 控制變數, 用同樣的引數進行標準化

# 預估器

estimator = ridge(alpha=

0.5, max_iter=

10000

) estimator.fit(x_train, y_train)

# 得出模型

print

('嶺回歸——權重係數為:\n'

, estimator.coef_)

print

('嶺回歸——偏重為:\n'

, estimator.intercept_)

# 模型評估

y_predict = estimator.predict(x_test)

print

('**房價:\n'

, y_predict)

error = mean_squared_error(y_test, y_predict)

print

('嶺回歸——均方誤差為:\n'

, error)

線性回歸的改進 嶺回歸

嶺回歸,其實也是一種線性回歸。只不過在演算法建立回歸方程時候,加上正則化的限制,從而達到解決過擬合的效果 solver 會根據資料自動選擇優化方法 normalize 資料是否進行標準化 ridge.coef 回歸權重 ridge.intercept 回歸偏置 all last four solve...

ML 線性回歸系列(三) 嶺回歸

華電北風吹 日期 2015 11 25 本文主要對嶺回歸 ridge regression 進行總結。本系列的第一篇中線性回歸的轉化為如下的無約束優化問題 min m i 1 y i tx i 2 0 1 其中,x i r n 1 表示每個樣本都是n維向量,y i 表示樣本x i 對應的標籤,rn ...

嶺回歸 lasso回歸

嶺回歸 ridge regression 和lasso least absolute shrinkage and selection operator 都是ols的改進,知乎上有關於三者異同的詳細討論 關於lasso 這裡記錄一下最近的學習心得。嶺回歸的含義 嶺回歸的權值計算公式中有單位方陣i,就像...