python scipy學習 曲線擬合

2022-10-10 11:30:11 字數 1091 閱讀 9732

根據某地每月的平均溫度[17, 19, 21, 28, 33, 38, 37, 37, 31, 23, 19, 18]擬合溫度函式。

import numpy as np

import matplotlib.pyplot as plt

from scipy import optimize

scipy.optimize提供了函式最小值(標量或多維)、曲線擬合和尋找等式的根的有用演算法。

因為溫度是以年為單位的

可以看出溫度是以週期為12的正弦函式

構建函式y=a*sin(x*pi/6+b)+c

使用optimize.curve_fit函式求出a、b、c的值

x=np.arange(1,13,1)

x1=np.arange(1,13,0.1)

ymax=np.array([17, 19, 21, 28, 33, 38, 37, 37, 31, 23, 19, 18])

deffmax(x,a,b,c):

return a*np.sin(x*np.pi/6+b)+c

fita,fitb=optimize.curve_fit(fmax,x,ymax,[1,1,1])

print

(fita)

plt.plot(x,ymax)

plt.plot(x1,fmax(x1,fita[0],fata[1],fita[2]))

plt.show()

求出a b c的值為[ 10.93254952  -1.9496096   26.75]

以上為擬合曲線

VIM學習曲線 a

這裡記錄下自己在學習vim過程中的一些坎坷和總結吧!後面補充 今天看到不少同學收藏,看樣子還是有很多人和我一樣的初級學習菜鳥,哈哈,這裡再次申明,文章主要內容是從鏈結的原文作者 拷貝出的,其中自己有小的修改,另外,我會參考其他文章,將常用的一些東西都加入進來,後期會慢慢更新,其中一些說的不清楚的地方...

學習曲線learning curve

學習曲線是橫座標為訓練樣本數量,橫座標為誤差。畫的有兩條曲線,一條是訓練集誤差,一條是交叉驗證的誤差。學習曲線可以反應兩種情況,一種是高偏差,一種是高方差。高方差 過擬合,擬合效果過好,但是泛化效果差,無法泛化新的資料 高誤差 欠擬合,擬合程度太差,誤差太大。反應在學習曲線上就是 高偏差 訓練集誤差...

Python KNN 學習曲線

學習曲線的目的是選擇更好的模型引數。以最近鄰演算法為例,選取最近的多少個資料點,才能達到最優。可以控制訓練集不動,調整最近的點的個數,繪製學習曲線。import matplotlib.pyplot as plt score krange range 1,21 k值取值範圍 for i in kran...