gpt4 book ai didi

python - 如何将关键字参数传递给 sklearn 管道中的预测方法

转载 作者:行者123 更新时间:2023-11-28 18:41:27 25 4
gpt4 key购买 nike

我在 Pipeline 中使用 GaussianProcessGaussianProcesspredict 方法接受一个名为 batch_sizepredict 方法的关键字参数,我需要使用它来防止填满我的内存。

在通过配置的管道调用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)

最佳答案

您可以通过允许将关键字参数 **predict_params 传递给 Pipeline 的预测方法来解决它。

from sklearn.pipeline import Pipeline

class Pipeline(Pipeline):
def predict(self, X, **predict_params):
"""Applies transforms to the data, and the predict method of the
final estimator. Valid only if the final estimator implements
predict."""
Xt = X
for name, transform in self.steps[:-1]:
Xt = transform.transform(Xt)
return self.steps[-1][-1].predict(Xt, **predict_params)

关于python - 如何将关键字参数传递给 sklearn 管道中的预测方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25509656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com