Python基于numpy模塊實現(xiàn)回歸預測
代碼如下
import numpy as npfrom matplotlib import pyplot as plt# 用numpy生成數(shù)據(jù)t ,yt = 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, y, 'o', t2, ypredict, ’x’)plt.show()
上面的一段代碼利用numpy生成數(shù)據(jù)序列,并實現(xiàn)了1階回歸,并畫出預測效果圖,圖形如下:
將代碼改一下,實現(xiàn)2階、3階回歸預測,只需要model = np.polyfit(t, y, deg =2)即可,同理3階模型就把deg改為3即可。
2階效果圖和3階效果圖分別如下:
需要說明的是,并不是擬合的階數(shù)越高,模型越好,本例使用2階擬合效果比較好,如果使用3階,會出現(xiàn)“過擬合”
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
