sklearn 回歸演算法 線性回歸

2021-09-26 03:05:34 字數 2301 閱讀 3954

演算法思想: 根據歷史資料,找到最佳的一組權重 w,和偏置b,根據?_1 ?_1+?_2 ?_2+…+?_? ?_?+? 求出目標值,在計算loss損失,在梯度下降 ,調整w權重。

該演算法針對於 連續型,非離散型資料

二元線性回歸:(樣本就2個特徵)

目標值 = 權重1 * 特徵值1 + 權重2 * 特徵值2 +b

n元線性回歸(樣本選擇n個特徵)

目標值 = 權重1 * 特徵值1 + 權重2 * 特徵值2 +·········+ 權重n * 特徵值n+b

運算。x = [[1,2,3], [4,5,6], [7,8,9], [6,6,1]]

行=樣本數,列= 選取的特徵數量

最終結果的形狀是 二維 [4,1] 有4個樣本,每個樣本乙個輸出

w的形狀 二維的[3,1]

w = [[w1],[w2],[w3]]和特徵數量一致

b = [[b1],[b2],[b3],[b4]]每個樣本都有乙個偏置量

結果 =np.matmul(x,w) + b

使用最小二乘法

y真實 - y** 的平方和

1 正規方程 (優點:一次性計算出 需要更正的w權重,缺點計算難度大)

直接下降到最低點。

適用於:面對訓練資料規模十分龐大的任務

公式

-1 * 更新前的權重 - 學習率 * 方向 = 更新後的權重

均方誤差 =

api線性+ 正規方程

from sklearn.linear_model import   linearregression
線性+ 梯度下降(大規模資料)

from sklearn.linear_model import sgdregressor
案例: **波士頓房價 線性回歸+正規方程優化

from sklearn.linear_model import linearregression

from sklearn.linear_model import sgdregressor

from sklearn.model_selection import train_test_split

from sklearn.datasets import load_boston

defline_regression()

: boston = load_boston(

)print

(boston.feature_names)

x = boston.data

y = boston.target

x_train, x_test, y_train, y_test = train_test_split(x, y, train_size=

0.8)

lr = linearregression(

)# 正規方程,無需要 學習率

lr.fit(x_train,y_train)

lr.predict(x_test)

score = lr.score(x_test,y_test)

print

(score)

line_regression(

)

[

'crim'

'zn'

'indus'

'chas'

'nox'

'rm'

'age'

'dis'

'rad'

'tax'

'ptratio'

'b''lstat'

]0.7371084929207039

案例: **波士頓房價 線性回歸+梯度下降優化

sklearn 線性回歸 sklearn 線性回歸

sklearn 線性回歸 資料集匯入,以及模型的建立,和線性回歸的應用。import matplotlib.pyplot as plt import numpy as np from sklearn import datasets,linear model from sklearn.metrics ...

sklearn 線性回歸

在統計學中,線性回歸 linear regression 是利用稱為線性回歸方程的最小平方函式對乙個或多個自變數和因變數之間關係進行建模的一種回歸分析。這種函式是乙個或多個稱為回歸係數的模型引數的線性組合。只有乙個自變數的情況稱為簡單回歸,大於乙個自變數情況的叫做多元回歸。這反過來又應當由多個相關的...

機器學習演算法 線性回歸

線性回歸應該算機器學習演算法裡面最基礎的演算法了,分別用作回歸 y值為連續值 和分類 y值為離散 在學習線性回歸的過程中,有很多機器學習的概念和方法是在這時候提出的。在現實中變數之間的關係,是有確定的和非確定的。確定關係指的是變數之間可以使用函式關係式表示,非確定的部分我們可以用概率分布來表示,如乙...