多項式線性回歸
1、多項式線性方程:
與多元線性回歸相比,它只有乙個自變數,但有不同次方數。
2、舉例:
importnumpy 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...