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