1. 程式人生 > 程式設計 >Python基於numpy模組實現迴歸預測

Python基於numpy模組實現迴歸預測

程式碼如下

import numpy as np
from matplotlib import pyplot as plt
# 用numpy生成資料t,y
t = np.arange(1,10,1)
y = 0.9 * t + np.sin(t)
model = np.polyfit(t,y,deg=1) # np.polyfit是numpy提供的加分分析方法,deg=1,指定模型為1階的,返回值model為獲得的模型
t2 = np.arange(-2,12,0.5) # 再生成一個間隔為0.5的序列
ypredict = np.polyval(model,t2) # 由np.polyval預測y值序列
plt.plot(t,"o",t2,ypredict,'x')
plt.show()

上面的一段程式碼利用numpy生成資料序列,並實現了1階迴歸,並畫出預測效果圖,圖形如下:

Python基於numpy模組實現迴歸預測

將程式碼改一下,實現2階、3階迴歸預測,只需要model = np.polyfit(t,deg =2)即可,同理3階模型就把deg改為3即可。

2階效果圖和3階效果圖分別如下:

Python基於numpy模組實現迴歸預測

Python基於numpy模組實現迴歸預測

需要說明的是,並不是擬合的階數越高,模型越好,本例使用2階擬合效果比較好,如果使用3階,會出現“過擬合”

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。