Python基于numpy模塊實(shí)現(xiàn)回歸預(yù)測(cè)
代碼如下
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) # 再生成一個(gè)間隔為0.5的序列ypredict = np.polyval(model, t2) # 由np.polyval預(yù)測(cè)y值序列plt.plot(t, y, 'o', t2, ypredict, ’x’)plt.show()
上面的一段代碼利用numpy生成數(shù)據(jù)序列,并實(shí)現(xiàn)了1階回歸,并畫出預(yù)測(cè)效果圖,圖形如下:

將代碼改一下,實(shí)現(xiàn)2階、3階回歸預(yù)測(cè),只需要model = np.polyfit(t, y, deg =2)即可,同理3階模型就把deg改為3即可。
2階效果圖和3階效果圖分別如下:


需要說明的是,并不是擬合的階數(shù)越高,模型越好,本例使用2階擬合效果比較好,如果使用3階,會(huì)出現(xiàn)“過擬合”
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Android table布局開發(fā)實(shí)現(xiàn)簡(jiǎn)單計(jì)算器2. 理解PHP5中static和const關(guān)鍵字3. jQuery 實(shí)現(xiàn)DOM元素拖拽交換位置的實(shí)例代碼4. php模擬實(shí)現(xiàn)斗地主發(fā)牌5. IntelliJ IDEA安裝插件的方法步驟6. phpstorm恢復(fù)默認(rèn)設(shè)置的方法步驟7. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)8. Python random庫(kù)使用方法及異常處理方案9. Vuex localStorage的具體使用10. .Net Core使用Coravel實(shí)現(xiàn)任務(wù)調(diào)度的完整步驟

網(wǎng)公網(wǎng)安備