機器學習 線性回歸問題

2021-10-20 04:11:04 字數 2577 閱讀 5959

案例分析

正規方程、梯度下降、嶺回歸

from sklearn.datasets import load_boston

from sklearn.linear_model import linearregression, sgdregressor, ridge

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import standardscaler

from sklearn.metrics import mean_squared_error

deflin()

:# 載入資料

lb = load_boston(

)# 分割資料

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

0.25

)# 標準化處理,例項化兩個標準化api

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))

# 正規方程求解

lr = linearregression(

) lr.fit(x_train, y_train)

print

(lr.coef_)

# 這個顯示回歸係數

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

)print

('**的房價是'

, y_lr_predict)

print

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

, mean_squared_error(std_y.inverse_transform(y_test)

, y_lr_predict)

)# 梯度下降**(這裡資料太少,效果貌似很不好,建議大於10萬樣本)

sgd = sgdregressor(

) sgd.fit(x_train, y_train)

print

(sgd.coef_)

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

)print

('**的房價是'

, y_sgd_predict)

print

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

, mean_squared_error(std_y.inverse_transform(y_test)

, y_sgd_predict)

)if __name__ ==

'__main__'

: lin(

)

使用條件

過擬合和欠擬合

欠擬合一般為模型過於簡單

過擬合 overfitting

原始特徵過多,存在一些嘈雜特徵, 模型過於複雜是因為模型嘗試去兼顧各個測試資料點

過擬合的解決辦法

正則化,嶺回歸

from sklearn.datasets import load_boston

from sklearn.linear_model import linearregression, sgdregressor, ridge

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import standardscaler

from sklearn.metrics import mean_squared_error

deflin()

:# 嶺回歸

rd = ridge(alpha=1)

rd.fit(x_train, y_train)

print

(rd.coef_)

y_rd_predict = std_y.inverse_transform(rd.predict(x_test)

)print

('**的房價是'

, y_rd_predict)

print

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

, mean_squared_error(std_y.inverse_transform(y_test)

, y_rd_predict)

)return

none

機器學習 線性回歸

可以說基本上是機器學習中最簡單的模型了,但是實際上其地位很重要 計算簡單 效果不錯,在很多其他演算法中也可以看到用lr作為一部分 先來看乙個小例子,給乙個 線性回歸是什麼 的概念。圖來自 2 假設有乙個房屋銷售的資料如下 面積 m 2 銷售價錢 萬元 123 250 150 320 87 160 1...

機器學習(線性回歸)

在機器學習中,回歸 分類和標註共同構成了監督學習技術。監督學習 supervised learning 是機器學習在工業界應用最廣的乙個領域分支。在學術界中也是研究最多的領域之一。大家都知道的資料探勘十大經典演算法中,監督學習技術佔據6席。方法 自變數 特徵 因變數 結果 關係 回歸演算法是試圖採用...

機器學習 線性回歸

line fitter linearregression 建立模型 line fitter.fit temperature,sales 傳入引數 sales predict line fitter.predict temperature 模型 直線 直線上會有loss 計算loss時 要使用平方距離...