Python 多項式回歸

2022-05-28 22:24:22 字數 1888 閱讀 9821

多項式線性回歸

1、多項式線性方程:

與多元線性回歸相比,它只有乙個自變數,但有不同次方數。

2、舉例:

import

numpy as np

import

matplotlib.pyplot as plt

import

pandas as pd

dataset = pd.read_csv('

data.csv')

#包含自變數的格式應該是矩陣,不然很可能有錯誤資訊

x = dataset.iloc[:, 1:2].values

y = dataset.iloc[:, 2].values

#建立線性回歸模型

from sklearn.linear_model import

linearregression

lin_reg = linearregression()#

lin_reg線性回歸

lin_reg.fit(x, y)

#建立多項式回歸

from sklearn.preprocessing import polynomialfeatures #

polynomialfeatures將自變數轉換成包含了自變數不同次數的矩陣

poly_reg = polynomialfeatures(degree = 4)#

degree :轉化的包含了不同多項式的最高次數為多少,預設為2,則代表預設最高為2

x_poly =poly_reg.fit_transform(x)

lin_reg_2 = linearregression()#

lin_reg_2多項式回歸

lin_reg_2.fit(x_poly, y)

#線性回歸

plt.scatter(x, y, color = '

red')#

實際結果點標紅

plt.plot(x, lin_reg.predict(x), color = '

blue

')#**結果線為藍色

plt.title('

truth or bluff (linear regression)')

plt.xlabel(

'position level')

plt.ylabel(

'salary')

plt.show()

#實際情況與**結果相差很大

#多項式回歸模型

#線條更加平滑

x_grid=np.arange(min(x),max(x),0.1)#

start :從哪個值開始;stop :到哪個數為止;step :每個點數之間間距為多少

x_grid=x_grid.reshape(len(x_grid),1)#

轉化為矩陣

plt.scatter(x, y, color = '

red'

)plt.plot(x_grid, lin_reg_2.predict(poly_reg.fit_transform(x_grid)), color = '

blue')

plt.title(

'truth or bluff (polynomial regression)')

plt.xlabel(

'position level')

plt.ylabel(

'salary')

plt.show()

#lin_reg已經擬合好的線性回歸模型,predict**,括號中為資料

lin_reg.predict(6.5)

lin_reg_2.predict(poly_reg.fit_transform(6.5))

多項式回歸

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