日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

高斯基函数线性组合回归练习——sklearn库高斯过程回归

發(fā)布時(shí)間:2023/12/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高斯基函数线性组合回归练习——sklearn库高斯过程回归 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本題純粹用作練習(xí),無(wú)任何其他意義。

采用高斯基函數(shù)作為線(xiàn)性回歸模型,用sklearn.gaussian_process.GaussianProcessRegressor可以進(jìn)行回歸,順便學(xué)習(xí)畫(huà)3D圖。

代碼如下:

# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn.gaussian_process import GaussianProcessRegressor from sklearn.gaussian_process.kernels import RBF, ConstantKernel as C from mpl_toolkits.mplot3d import Axes3Dtest = np.array([[2004,98.31]]) data = np.array([[2001,100.83,410],[2005,90.9,500],[2007,130.03,550],[2004,78.88,410],[2006,74.22,460],[2005,90.4,497],[1983,64.59,370],[2000,164.06,610],[2003,147.5,560],[2003,58.51,408],[1999,95.11,565],[2000,85.57,430],[1995,66.44,378],[2003,94.27,498],[2007,125.1,760],[2006,111.2,730],[2008,88.99,430],[2005,92.13,506],[2008,101.35,405],[2000,158.9,615]]) kernel = C(0.1, (0.001,0.1))*RBF(0.5,(1e-4,10)) reg = GaussianProcessRegressor(kernel=kernel,n_restarts_optimizer=10,alpha=0.1) reg.fit(data[:,:-1], data[:,-1]) x_min, x_max = data[:, 0].min() - 1, data[:, 0].max() + 1 y_min, y_max = data[:, 1].min() - 1, data[:, 1].max() + 1 xset, yset = np.meshgrid(np.arange(x_min, x_max, 0.5), np.arange(y_min, y_max, 0.5)) output,err = reg.predict(np.c_[xset.ravel(), yset.ravel()],return_std=True) output,err = output.reshape(xset.shape),err.reshape(xset.shape) sigma = np.sum(reg.predict(data[:,:-1], return_std=True)[1]) up,down = output*(1+1.96*err), output*(1-1.96*err)fig = plt.figure(figsize=(10.5,5)) ax1 = fig.add_subplot(121, projection='3d') surf = ax1.plot_wireframe(xset,yset,output, rstride=10, cstride=2, antialiased=True) surf_u = ax1.plot_wireframe(xset,yset,up,colors='lightgreen',linewidths=1,rstride=10, cstride=2, antialiased=True) surf_d = ax1.plot_wireframe(xset,yset,down,colors='lightgreen',linewidths=1,rstride=10, cstride=2, antialiased=True) ax1.scatter(data[:,0],data[:,1],data[:,2],c='red') ax1.set_title('House Price at (2004, 98.31): {0:.2f}$*10^4$ RMB'.format(reg.predict(test)[0])) ax1.set_xlabel('Year') ax1.set_ylabel('Area, $m^2$') ax1.set_zlabel('Price,$10^4$ RMB')ax = fig.add_subplot(122) s = ax.scatter(data[:,0],data[:,1],c=data[:,2],cmap=plt.cm.viridis) # ax.contour(xset,yset,output) im = ax.imshow(output, interpolation='bilinear', origin='lower',extent=(x_min, x_max-1, y_min, y_max), aspect='auto') plt.colorbar(s,ax=ax) ax.set_title('House Price,$10^4$ RMB') ax.hlines(test[0,1],x_min, x_max-1) ax.vlines(test[0,0],y_min, y_max) ax.text(test[0,0],test[0,1],'{0:.2f}$*10^4$ RMB'.format(reg.predict(test)[0]),ha='left',va='bottom',color='k',size=11,rotation=90) ax.set_xlabel('Year') ax.set_ylabel('Area, $m^2$') plt.subplots_adjust(left=0.05, top=0.95, right=0.95) plt.show()成圖如下:(左圖中綠色網(wǎng)格面為置信度為95%的上下界面,藍(lán)色網(wǎng)格為回歸面)



總結(jié)

以上是生活随笔為你收集整理的高斯基函数线性组合回归练习——sklearn库高斯过程回归的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。