【发布时间】:2014-08-26 15:29:12
【问题描述】:
我在Pipeline 中使用GaussianProcess。 GaussianProcess 的 predict 方法接受一个名为 batch_size 的 predict 方法的关键字参数,我需要使用它来防止填满我的内存。
通过配置的管道调用predict时,有没有办法将此参数传递给GaussianProcess实例?
这是一个改编自 sklearn 文档的最小示例,用于演示我想要什么:
import numpy as np
from sklearn.gaussian_process import GaussianProcess
from matplotlib import pyplot as pl
np.random.seed(1)
def f(x):
"""The function to predict."""
return x * np.sin(x)
X = np.atleast_2d([1., 3., 5., 6., 7., 8.]).T
y = f(X).ravel()
gp = GaussianProcess(corr='cubic', theta0=1e-2, thetaL=1e-4, thetaU=1e-1,
random_start=100)
gp.fit(X, y)
x = np.atleast_2d(np.linspace(0, 10, 1000)).T
y_pred = gp.predict(x, batch_size=10)
from sklearn import pipeline
steps = [('gp', gp)]
p = pipeline.Pipeline(steps)
# How to pass the batch_size here?
p.predict(x)
【问题讨论】:
-
这是一个 API 缺陷:GP 应该在其构造函数中使用这个批量大小参数,而不是
predict。
标签: python scikit-learn