使用空 X 和 Y 初始化 GPFlow 模型
Initialize GPFlow model with empty X and Y
我正在使用 GPFlow 进行多维回归,并希望从空的 X 和 Y 集开始比较各种内核。但似乎图书馆需要包含值对的集合。我考虑过使用远离我的输入 space 的点进行初始化,但是在优化我的超参数时会包括该点。
有没有我遗漏的解决方案或解决方法?
感谢您的帮助!
这是初始化我的模型的一些标准代码:
import gpflow
k = gpflow.kernels.RBF(input_dim=1, lengthscales=1, variance=1)
x_sample = np.array([])
y_sample = np.array([])
model = gpflow.models.GPR(x_sample, y_sample, kern=k)
这会导致以下错误:
IndexError: tuple index out of range
下面的代码片段导致:
model = gpflow.models.GPR(kern=k)
TypeError: __init__() missing 2 required positional arguments: 'X' and 'Y'
如果有人知道我可以用空集初始化我的模型,那就太好了
库 可以 处理空的 X
和 Y
集 - 但您必须遵守所需的形状。 X
和 Y
都需要有 ndim=2
。当写 x_sample = np.array([])
时,然后 x_sample.shape == (0,)
和 x_sample.ndim == 1
。相反,设置 x_sample = np.empty((0, 2))
(同样 y_sample = np.empty((0, 2))
,然后 ndim=2
并且它们的形状根据需要设置为 (0, 2)
。
(显然,没有数据,优化超参数没有意义,而且您可以对模型做任何事情,真的;如果您只想比较内核,则不需要构建一个模型来计算内核矩阵...但这更具体地取决于您想要实现的目标!)
我正在使用 GPFlow 进行多维回归,并希望从空的 X 和 Y 集开始比较各种内核。但似乎图书馆需要包含值对的集合。我考虑过使用远离我的输入 space 的点进行初始化,但是在优化我的超参数时会包括该点。 有没有我遗漏的解决方案或解决方法?
感谢您的帮助!
这是初始化我的模型的一些标准代码:
import gpflow
k = gpflow.kernels.RBF(input_dim=1, lengthscales=1, variance=1)
x_sample = np.array([])
y_sample = np.array([])
model = gpflow.models.GPR(x_sample, y_sample, kern=k)
这会导致以下错误:
IndexError: tuple index out of range
下面的代码片段导致:
model = gpflow.models.GPR(kern=k)
TypeError: __init__() missing 2 required positional arguments: 'X' and 'Y'
如果有人知道我可以用空集初始化我的模型,那就太好了
库 可以 处理空的 X
和 Y
集 - 但您必须遵守所需的形状。 X
和 Y
都需要有 ndim=2
。当写 x_sample = np.array([])
时,然后 x_sample.shape == (0,)
和 x_sample.ndim == 1
。相反,设置 x_sample = np.empty((0, 2))
(同样 y_sample = np.empty((0, 2))
,然后 ndim=2
并且它们的形状根据需要设置为 (0, 2)
。
(显然,没有数据,优化超参数没有意义,而且您可以对模型做任何事情,真的;如果您只想比较内核,则不需要构建一个模型来计算内核矩阵...但这更具体地取决于您想要实现的目标!)