scikit-learn GaussianProcessRegressor vs GaussianProcess?为什么在0.18版本中不推荐使用GaussianProcess?

时间:2017-01-08 17:27:18

标签: python scikit-learn deprecated deprecation-warning

我正在尝试使用kriging(高斯过程)回归与常数项和广义指数相关模型。我能够使用GaussianProcess函数(版本0.17.1)在旧版本中执行此操作。当我使用它时,我会收到警告

  

deprecationWarning:不推荐使用GaussianProcess类; GaussianProcess在版本0.18中已弃用,将在0.20中删除。改为使用GaussianProcessRegressor。

但是,我找不到GaussianProcessRegressor的类似选项。我想知道我是否可以使用GaussianProcessRegressor或scikit-learn不再支持此功能。

2 个答案:

答案 0 :(得分:0)

是的,你可以。

GaussianProcessRegressor类可用作替代品。默认情况下,它使用RBF内核。因此,根据您的情况,您可以相应地设置内核。见Rasmussen。实际上,这个新课程的目的是根据这本圣经来实施GP。

答案 1 :(得分:0)

GaussianProcess函数(版本0.17.1)基于DACE包,提供两个选项:趋势项和关联项。

  1. Kriging中的趋势项可以设置为常数或多项式,如线性,二次。 GaussianProcessRegressor假定一个恒定的趋势项,它是训练数据的平均值。它不支持克里金与趋势。然而,这不是一个主要问题,因为文献表明,复杂的趋势术语可能没有多大帮助。参见(Chen,2016)。

  2. 相关项是GaussianProcess类似于GaussianProcessRegressor中的相关内核,后者更灵活。 RBF内核类似于平方指数内核,形式略有不同。 (而不是exp(-theta *(距离)^ 2)被exp(-theta *(距离)^ 2 / length ^ 2)替换。

  3. 最后,GaussianProcess中的过程方差是通过解析表达式获得的,而在GaussianProcessRegressor中,它是通过最大化似然估计得到的。

    参考文献:

    S上。 N. Lophaven,H。B. Nielsen,J。Sondergaard,DACE-A MATLAB Kriging工具箱, 版本2.0,技术。 Rep。,2002a。

    小时。 Chen,J.L。Loeppky,J。Sacks,W。J. Welch,et al。,Analysis Methods for Computer Experiments:How to Assess and What Counts?,Statistical Science 31(1)(2016)40-60。