一、导入数据并参看形状

from sklearn.datasets import load_boston
import numpy as np
boston = load_boston()
boston_X = boston.data
boston_y = boston.targetprint(boston_X.shape)
print(boston_y.shape)
train_set = np.random.choice([True, False], len(boston_y),p=[.75, .25])
print(train_set.shape)

二、导入高斯过程回归模块并选择默认参数实例化

from sklearn.gaussian_process import GaussianProcessRegressor
gpr = GaussianProcessRegressor()
gpr

三、导入高斯过程核函数并选择参数

from sklearn.gaussian_process.kernels import RBF, ConstantKernel as CKmixed_kernel = kernel = CK(1.0, (1e-4, 1e4)) * RBF(10, (1e-4, 1e4))  #径向基径向基Radial basis function,简称RBF

四、将参数代入模块中并实例化

gpr = GaussianProcessRegressor(alpha=5,n_restarts_optimizer=20,kernel = mixed_kernel)

五、利用数据集训练并预测

gpr.fit(boston_X[train_set],boston_y[train_set])test_preds = gpr.predict(boston_X[~train_set])
print(boston_X[~train_set].shape)
print(boston_X[train_set].shape)

六、选择交叉评价预测并绘图

from sklearn.model_selection import cross_val_predictfrom matplotlib import pyplot as plt
%matplotlib inlinef, ax = plt.subplots(figsize=(10, 7), nrows=3) #3行
f.tight_layout()ax[0].plot(range(len(test_preds)), test_preds,label='Predicted Values');
ax[0].plot(range(len(test_preds)), boston_y[~train_set],label='Actual Values');
ax[0].set_title("Predicted vs Actuals")
ax[0].legend(loc='best')ax[1].plot(range(len(test_preds)),test_preds - boston_y[~train_set]);
ax[1].set_title("Plotted Residuals") #残差
ax[2].hist(test_preds - boston_y[~train_set]);
ax[2].set_title("Histogram of Residuals")
from sklearn.model_selection import cross_val_scoregpr5 = GaussianProcessRegressor(alpha=5,n_restarts_optimizer=20,kernel = mixed_kernel)scores_5 = (cross_val_score(gpr5,boston_X[train_set],boston_y[train_set],cv = 4,scoring = 'neg_mean_absolute_error'))
def score_mini_report(scores_list):print("List of scores: ", scores_list)print("Mean of scores: ", scores_list.mean()) print("Std of scores: ", scores_list.std())score_mini_report(scores_5)
gpr7 = GaussianProcessRegressor(alpha=7,n_restarts_optimizer=20,kernel = mixed_kernel)scores_7 = (cross_val_score(gpr7,boston_X[train_set],boston_y[train_set],cv = 4,scoring = 'neg_mean_absolute_error'))
score_mini_report(scores_7)
from sklearn.model_selection import cross_val_scoregpr7n = GaussianProcessRegressor(alpha=7,n_restarts_optimizer=20,kernel = mixed_kernel,normalize_y=True)scores_7n = (cross_val_score(gpr7n,boston_X[train_set],boston_y[train_set],cv = 4,scoring = 'neg_mean_absolute_error'))
score_mini_report(scores_7n)
gpr7n.fit(boston_X[train_set],boston_y[train_set])
test_preds = gpr7n.predict(boston_X[~train_set])
gpr_new = GaussianProcessRegressor(alpha=boston_y[train_set]/4,n_restarts_optimizer=20,kernel = mixed_kernel)
test_preds, MSE = gpr7n.predict(boston_X[~train_set], return_std=True)
MSE[:5]
f, ax = plt.subplots(figsize=(7, 5))
n = MSE.shape[0]
rng = range(n)
ax.scatter(rng, test_preds[:n])
ax.errorbar(rng, test_preds[:n], yerr=1.96*MSE[:n])
ax.set_title("Predictions with Error Bars")
ax.set_xlim((-1, n));



参考文献
1.官网
2.Scikit-Learn cookbook

Scikit-Learn之利用高斯过程回归相关推荐

  1. 转载:说说高斯过程回归

    原文链接: 说说高斯过程回归 – 我爱计算机 http://www.52cs.org/?p=509&_360safeparam=1929050203 高斯过程回归 来自于 我爱计算机 WWW. ...

  2. 趋势预测方法(四)高斯过程回归_时序概率性预测

    高斯过程回归(GPR) a基本原理: 利用高斯过程回归将可能的数据趋势曲线都保存下来(每条趋势曲线都有自己的置信度,在区间内呈高斯分布),最后在一张图中显示出来,再判断总体的趋势情况. b算法原理: ...

  3. Scikit Learn: 在python中机器学习

    Warning 警告:有些没能理解的句子,我以自己的理解意译. 翻译自:Scikit Learn:Machine Learning in Python 作者: Fabian Pedregosa, Ga ...

  4. 高斯过程回归python_基于python的高斯过程回归训练集数据扩充

    我正在用scikit学习研究高斯过程回归问题.为了进行预测,我有这样的数据集,它包含传感器在三维坐标系中的10个不同位置:例如Sensor1 coords: [[ 30.1678 -173.569 7 ...

  5. [转载]Scikit Learn: 在python中机器学习

    原址:http://my.oschina.net/u/175377/blog/84420 目录[-] Scikit Learn: 在python中机器学习 载入示例数据 一个改变数据集大小的示例:数码 ...

  6. rbf核函数_高斯过程回归础(使用GPy和模拟函数数据集)

    为什么要了解高斯过程呢?因为不了解高斯过程就不能聊贝叶斯优化. 假设有这么一个函数: .现在有训练的数据y和一堆X.然后来了一个新的X让你用既有的数据去预测者个新的X所对应的y. 高斯过程(回归)的思 ...

  7. 高斯过程回归python_scikit-learn中的多输出高斯过程回归

    好吧,你无意中碰上了冰山...... 作为前奏,让我们明确指出方差和标准差的概念仅适用于标量变量;对于矢量变量(比如你自己的3d输出),方差的概念不再有意义,而是使用协方差矩阵(Wikipedia,W ...

  8. 【scikit-learn】如何用Python和SciKit Learn 0.18实现神经网络

    本教程的代码和数据来自于 Springboard 的博客教程.本文的作者为 Jose Portilla,他是网络教育平台 Udemy 一门数据科学类课程的讲师. GitHub 链接:https://g ...

  9. python scikit learn 关闭开源_scikit learn 里没有神经网络?

    本教程的代码和数据来自于 Springboard 的博客教程,希望能为你提供帮助.作者为 Jose Portilla,他是网络教育平台 Udemy 一门数据科学类课程的讲师. GitHub 链接:ht ...

  10. GPR(高斯过程回归)

    写在前面:   本文为科研理论笔记的第三篇,其余笔记目录传送门: 理论笔记专栏目录   介绍结束下面开始进入正题: 1 高斯分布 ​   一元高斯分布的概率密度函数为: p(x)=1σ2πexp⁡(− ...

最新文章

  1. oracle视图能用etl工具_(转)使用kettle作为sqlserver2008和oracle10G之间的ETL工具
  2. POJ-3687-Labeling Balls
  3. 24点游戏java_Java实现24点小游戏
  4. 与股权投资有关的抵消分录的编制
  5. python sanic orm_Sanic + 前端MVVM 一种新一代Python高性能全栈开发实践
  6. pushpop指令的操作数必须是字操作数_PLC的指令,电气人必须了解的基础内容
  7. 暑假周进度总结报告3
  8. 椒盐噪声加噪的实现原理
  9. 拓端tecdat|R平方/相关性取决于预测变量的方差
  10. yalmip-cplex学习总结+亲测算例(一)
  11. 2022联想创新科技大会--智能为变革赋能
  12. 远程拨号换IP的方法
  13. WordPress星级评分插件KK Star Ratings评分插件教程
  14. python bookmark_Python PyQT-网络浏览器|书签
  15. 编程思想 之「泛型」
  16. 机器学习和NLP面试总结
  17. 开源聚合支付平台学习
  18. 阿里最全面试116题整理
  19. 我的世界java边境之地_我的世界:MC人迹罕至的6种“边境之地”,最后1种让人后背发凉!...
  20. “测温枪”到底是怎样测出你的温度的?

热门文章

  1. 六款顶级Wifi无线网络搜索工具盘点
  2. 关于jq22.com网站访问不了的问题
  3. jq ajax input file,基于jq的input file文件上传
  4. 基于java在线问卷调查系统
  5. K60笔记2——内存空间分布
  6. 4K显示器在M1上打开HiDPI
  7. TIA Openness开发入门(2)
  8. 共享服务器协议,3.5.7 文件共享服务及SMB协议
  9. 天翼1号2021修改IMEI教程
  10. 苹果手机怎么投屏到电脑上?屏幕镜像即可投屏