python機器學習之 sklearn 嶺回歸

2021-10-10 01:42:04 字數 3235 閱讀 8003

今天看了會l2正則化,大致的意思就是在懲戒函式中加入高次項的懲戒項,用來減小線性回歸中高次項的係數,避免過擬合的狀態。這樣就產生了一種具有正則化的線性回歸模型------嶺回歸。

sklearn.linear_model.ridge(alpha=

1.0)

#具有正則化的線性最小二乘法

#alpha 表示正則化力度

#coel_ 表示回歸係數

from sklearn.linear_model import ridge

# 嶺回歸降求解**結果

ri = ridge(alpha=

1.0)

#例項化嶺回歸物件

ri.fit(x_train, y_train)

#輸入訓練資料

print

("特徵值"

, ri.coef_)

# **測試集的房子**

ri_y_predict = std_y.inverse_transform(ri.predict(x_test)

)print

("梯度下降每個房子的****:"

, ri_y_predict)

print

("正規方程均方誤差:"

, mean_squared_error(std_y.inverse_transform(y_test)

, y_predict)

)print

("梯度下降均方誤差:"

, mean_squared_error(std_y.inverse_transform(y_test)

, sgd_y_predict)

)print

("嶺回歸誤差:"

:# 獲取資料

lb = load_boston(

)# 分割資料集為訓練集和測試集

x_train, x_test, y_train, y_test = train_test_split(lb.data, lb.target, test_size=

0.25

)# 進行標準化處理,特徵值和目標值都需要分別進行特徵化處理

# 特徵值進行標準化

std_x = standardscaler(

) x_train = std_x.fit_transform(x_train)

x_test = std_x.transform(x_test)

# 目標值進行標準化

std_y = standardscaler(

) y_train = std_y.fit_transform(y_train.reshape(-1

,1))

y_test = std_y.transform(y_test.reshape(-1

,1))

# estimator**

#正規方程求解方式**結果

lr = linearregression(

) lr.fit(x_train, y_train)

print

("特徵值:"

,lr.coef_)

# **測試集的房子**

y_predict = std_y.inverse_transform(lr.predict(x_test)

)print

("正規方程求解每個房子的****:"

,y_predict)

#梯度下降求解**結果

sgd=sgdregressor(

) sgd.fit(x_train, y_train)

print

("特徵值"

,sgd.coef_)

# **測試集的房子**

sgd_y_predict = std_y.inverse_transform(sgd.predict(x_test)

)print

("梯度下降每個房子的****:"

, sgd_y_predict)

# 嶺回歸降求解**結果

ri = ridge(alpha=

1.0)

ri.fit(x_train, y_train)

print

("特徵值"

, ri.coef_)

# **測試集的房子**

ri_y_predict = std_y.inverse_transform(ri.predict(x_test)

)print

("梯度下降每個房子的****:"

, ri_y_predict)

print

("正規方程均方誤差:"

, mean_squared_error(std_y.inverse_transform(y_test)

, y_predict)

)print

("梯度下降均方誤差:"

, mean_squared_error(std_y.inverse_transform(y_test)

, sgd_y_predict)

)print

("嶺回歸誤差:"

, mean_squared_error(std_y.inverse_transform(y_test)

, ri_y_predict)

)return

none

if __name__ ==

"__main__"

: regress(

)

《Python之機器學習(NumPy)》

單行注釋 多行注釋 多行注釋 多行注釋 a.ndim 輸出陣列的維數 a.shape 輸出陣列的形式 幾行,幾列 copy 複製陣列 a 2 陣列中每個元素乘以2 1,2 2 陣列將變成4個 a 2 a的平方 1,2 2 unsuported operand type 陣列訪問。修建異常值。處理不存...

python機器 python機器學習

熱詞系列 打卡 mark一下,以後看 每天打卡學習 1 python 基礎 bv1lt4y1u7un 2 python 高階 bv1jz411b7dh 3 python 資料庫 bv1pg4y1a7a7 4 python gui與坦克大戰 bv1je411f72o 5 python numpy bv...

機器學習之常用Python庫

pythong tutorial 提供常用的數值陣列 矩陣等函式。官網 numpy doc numpy user guide user index.html 文件quickstart user quickstart.html numpy basics user basics.html numpy r...