在GPy库(python)中找不到plot函数

2024-09-28 05:27:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python2.7中的GPy库来执行高斯过程回归。我从GitHub页面提供的教程笔记本开始。在

样本代码:

import numpy as np
import matplotlib.pyplot as plt

f = lambda x : np.sin(x**2)

kernel = GPy.kern.RBF(input_dim=1, variance=1., lengthscale=1.)

X=np.random.rand(2,1)
Y=f(X)

m = GPy.models.GPRegression(X,Y,kernel)
m.optimize_restarts(num_restarts = 10,verbose=False)

fig=m.plot()
plt.show()

我所看到的奇怪的事情是,GPRegression类中没有实现plot函数(好的,它只是GP的一个子类。),也不是它的超级类(GP),也不是它的超级类(模型)。。。全部位于GPy核心。在

当我调用m.plot()时执行的plot函数在GPy.plotting.GPy_绘图(它不包含任何类,但仍然使用“self”关键字作为函数参数-但可能这只是函数参数的“坏”名称?)。在

我看不出GPy.core.GPobject可以访问这个plot函数(乍一看,这两个python文件之间没有任何链接-Ctrl+F“plot”在GPy/core中)/普通股没有举例说明)。在

我打电话的时候

^{pr2}$

,plot函数确实存在,尽管不是在中直接实现的GPy.core.GP。在

同样适用于:(最小可复制示例)

import GPy.core.gp
import GPy.likelihoods
import GPy.kern
import matplotlib.pyplot as plt

GPy.core.gp.GP.__dict__.keys()

你知道GP如何调用gpy绘图中的plot函数,以及为什么要这样编码?在


Tags: 函数coreimportplotmatplotlibasnpplt
1条回答
网友
1楼 · 发布于 2024-09-28 05:27:18

{GPy/}在gpu中注入{u/uy}绘图。这里是plot()的行:

    from ..core import GP
    ...
    GP.plot = gpy_plot.gp_plots.plot

我假设这个设计的原因是它允许通过^{}轻松地更改绘图库。在

相关问题 更多 >

    热门问题