夢里有時終須有榛臼,夢里無時莫強求
今天誤差限第二章,errobar顯示的只是離散點的誤差恩静,雖然在我們看來圖像是連續(xù)但是實際只是點焕毫,所以為了更好擬合誤差趨勢蹲坷,就有今天連續(xù)誤差驶乾,代碼如下
import numpyas np
from sklearn.gaussian_processimport GaussianProcess
import? matplotlibas mtp
import? matplotlib.pyplotas plt
fig=plt.figure()
#x=np.linspace(0,10,50)
model =lambda x:x*np.sin(x)
print(type(model))
y=1
model1=lambda x,y: x*np.sin(x)+y
print(type(model1))
print(model1)
xdata=np.array([1,3,5,6,8])
ydata1=np.array([2,3,9,20,30])
ydata=model(xdata)
y=model1(xdata,ydata1)
gp=GaussianProcess(corr='cubic',theta0=1e-2,thetaL=1e-4,thetaU=1E-1,random_start=100)
gp.fit(xdata[:,np.newaxis],ydata)
xfit=np.linspace(0,10,1000)
yfit,MSE=gp.predict(xfit[:,np.newaxis],eval_MSE=True)
dyfit=2*np.sqrt(MSE)
重點在這里,上面只是就算求誤差
plt.figure()
plt.plot(xdata,ydata,'r')
plt.plot(xfit,yfit,color='yellow')
plt.fill_between(xfit,yfit-dyfit,yfit+dyfit)
print(ydata)
print(type(dyfit))
plt.show()
效果圖如下
效果如圖循签,用的是between函數(shù)级乐,實際也就是填充中間區(qū)域,代碼有疑問回復县匠,歡迎大家討論