08 手寫多項式回歸

2021-09-26 07:43:41 字數 1564 閱讀 2089

直線回歸研究的是乙個依變數與乙個自變數之間的回歸問題,但是,在畜禽、水產科學領域的許多實際問題中,影響依變數的自變數往往不止乙個,而是多個,比如綿羊的產毛量這一變數同時受到綿羊體重、胸圍、體長等多個變數的影響,因此需要進行乙個依變數與多個自變數間的回歸分析,即多元回歸分析

研究乙個因變數與乙個或多個自變數間多項式的回歸分析方法,稱為多項式回歸(polynomial regression)。如果自變數只有乙個時,稱為一元多項式回歸;如果自變數有多個時,稱為多元多項式回歸。在一元回歸分析中,如果依變數y與自變數x的關係為非線性的,但是又找不到適當的函式曲線來擬合,則可以採用一元多項式回歸

一元m次多項式回歸方程為:

二元二次多項式回歸方程為:

import numpy as np

import matplotlib.pyplot as plt

# 在指定[-3,3]隨機生成size個隨機數(代表的特徵值)

x = np.random.uniform(-3

,3,size=

100)

print

(x,x.shape)

# 模擬目標值(y) 與x並不是簡單的線性關係

# hstack 在水平方向追加, vstack垂直方向疊加

x2 = np.hstack(

[x**

2,x]

)print

(x2.shape)

# 線性回歸模型進行訓練

lr = linearregression(

)lr.fit(x2,y)

# 訓練過程就是尋找最佳權重和偏置的過程

print

('權重'

,lr.coef_,

'偏置'

,lr.intercept_)

y_predict = lr.predict(x2)

# 真實的資料集採用散點圖顯示

plt.scatter(x,y)

# **資料集,採用線形圖顯示,必須按照x軸從小到大進行繪製

多項式回歸

import numpy as np import matplotlib.pyplot as plt x np.random.uniform 3,3,size 100 x x.reshape 1,1 y 0.5 x 2 x 2 np.random.normal 0,1,100 plt.scatter...

多項式回歸

多項式回歸 import torch import numpy defmake features x 獲取 x,x 2,x 3 的矩陣 x x.unsqueeze 1 將一維資料變為 n,1 二維矩陣形式 return torch.cat x i for i in range 1 4 1 按列拼接 ...

多項式回歸

線性回歸適用於資料成線性分布的回歸問題,如果樣本是非線性分布,線性回歸就不再使用,轉而可以採用非線性模型進行回歸,比如多項式回歸 多項式回歸模型定義 與線性模型,多項式模型引入了高次項 y w 0 w1 x w2 x2 w 3x3 wnxn y w 0 w 1x w 2x 2 w 3x 3 w nx...