本文整理汇总了Python中sklearn.gaussian_process.GaussianProcessRegressor方法的典型用法代码示例。如果您正苦于以下问题:Python gaussian_process.GaussianProcessRegressor方法的具体用法?Python gaussian_process.GaussianProcessRegressor怎么用?Python gaussian_process.GaussianProcessRegressor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sklearn.gaussian_process
的用法示例。
在下文中一共展示了gaussian_process.GaussianProcessRegressor方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def __init__(self, describer, kernel_category='RBF', restarts=10, **kwargs):
"""
Args:
describer (Describer): Describer to convert
input object to descriptors.
kernel_category (str): Name of kernel from
sklearn.gaussian_process.kernels. Default to 'RBF', i.e.,
squared exponential.
restarts (int): The number of restarts of the optimizer for
finding the kernel’s parameters which maximize the
log-marginal likelihood.
kwargs: kwargs to be passed to kernel object, e.g. length_scale,
length_scale_bounds.
"""
self.describer = describer
kernel = getattr(kernels, kernel_category)(**kwargs)
self.model = GaussianProcessRegressor(kernel=kernel, n_restarts_optimizer=restarts)
self._xtrain = None
self._xtest = None
示例2: test_custom_optimizer
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def test_custom_optimizer(kernel):
# Test that GPR can use externally defined optimizers.
# Define a dummy optimizer that simply tests 50 random hyperparameters
def optimizer(obj_func, initial_theta, bounds):
rng = np.random.RandomState(0)
theta_opt, func_min = \
initial_theta, obj_func(initial_theta, eval_gradient=False)
for _ in range(50):
theta = np.atleast_1d(rng.uniform(np.maximum(-2, bounds[:, 0]),
np.minimum(1, bounds[:, 1])))
f = obj_func(theta, eval_gradient=False)
if f < func_min:
theta_opt, func_min = theta, f
return theta_opt, func_min
gpr = GaussianProcessRegressor(kernel=kernel, optimizer=optimizer)
gpr.fit(X, y)
# Checks that optimizer improved marginal likelihood
assert_greater(gpr.log_marginal_likelihood(gpr.kernel_.theta),
gpr.log_marginal_likelihood(gpr.kernel.theta))
示例3: test_duplicate_input
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def test_duplicate_input(kernel):
# Test GPR can handle two different output-values for the same input.
gpr_equal_inputs = GaussianProcessRegressor(kernel=kernel, alpha=1e-2)
gpr_similar_inputs = GaussianProcessRegressor(kernel=kernel, alpha=1e-2)
X_ = np.vstack((X, X[0]))
y_ = np.hstack((y, y[0] + 1))
gpr_equal_inputs.fit(X_, y_)
X_ = np.vstack((X, X[0] + 1e-15))
y_ = np.hstack((y, y[0] + 1))
gpr_similar_inputs.fit(X_, y_)
X_test = np.linspace(0, 10, 100)[:, None]
y_pred_equal, y_std_equal = \
gpr_equal_inputs.predict(X_test, return_std=True)
y_pred_similar, y_std_similar = \
gpr_similar_inputs.predict(X_test, return_std=True)
assert_almost_equal(y_pred_equal, y_pred_similar)
assert_almost_equal(y_std_equal, y_std_similar)
示例4: test_K_inv_reset
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def test_K_inv_reset(kernel):
y2 = f(X2).ravel()
# Test that self._K_inv is reset after a new fit
gpr = GaussianProcessRegressor(kernel=kernel).fit(X, y)
assert hasattr(gpr, '_K_inv')
assert gpr._K_inv is None
gpr.predict(X, return_std=True)
assert gpr._K_inv is not None
gpr.fit(X2, y2)
assert gpr._K_inv is None
gpr.predict(X2, return_std=True)
gpr2 = GaussianProcessRegressor(kernel=kernel).fit(X2, y2)
gpr2.predict(X2, return_std=True)
# the value of K_inv should be independent of the first fit
assert_array_equal(gpr._K_inv, gpr2._K_inv)
示例5: __init__
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def __init__(self, **kwargs):
super(GPR, self).__init__(**kwargs)
self.name = "GPR"
self.detail = "Gaussian Process Regression"
self.is_high_order = True
self.has_point_forecasting = True
self.has_interval_forecasting = True
self.has_probability_forecasting = True
self.uod_clip = False
self.benchmark_only = True
self.min_order = 1
self.alpha = kwargs.get("alpha", 0.05)
self.data = None
self.lscale = kwargs.get('length_scale', 1)
self.kernel = ConstantKernel(1.0) * RBF(length_scale=self.lscale)
self.model = GaussianProcessRegressor(kernel=self.kernel, alpha=.05,
n_restarts_optimizer=10,
normalize_y=False)
#self.model_fit = None
示例6: create_model
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def create_model(samples_x, samples_y_aggregation,
n_restarts_optimizer=250, is_white_kernel=False):
'''
Trains GP regression model
'''
kernel = gp.kernels.ConstantKernel(constant_value=1,
constant_value_bounds=(1e-12, 1e12)) * \
gp.kernels.Matern(nu=1.5)
if is_white_kernel is True:
kernel += gp.kernels.WhiteKernel(noise_level=1, noise_level_bounds=(1e-12, 1e12))
regressor = gp.GaussianProcessRegressor(kernel=kernel,
n_restarts_optimizer=n_restarts_optimizer,
normalize_y=True,
alpha=1e-10)
regressor.fit(numpy.array(samples_x), numpy.array(samples_y_aggregation))
model = {}
model['model'] = regressor
model['kernel_prior'] = str(kernel)
model['kernel_posterior'] = str(regressor.kernel_)
model['model_loglikelihood'] = regressor.log_marginal_likelihood(regressor.kernel_.theta)
return model
示例7: mechanism
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def mechanism(self, x):
"""Mechanism function."""
self.nb_step += 1
x = np.reshape(x, (x.shape[0], 1))
if(self.nb_step < 5):
cov = computeGaussKernel(x)
mean = np.zeros((1, self.points))[0, :]
y = np.random.multivariate_normal(mean, cov)
elif(self.nb_step == 5):
cov = computeGaussKernel(x)
mean = np.zeros((1, self.points))[0, :]
y = np.random.multivariate_normal(mean, cov)
self.gpr = GaussianProcessRegressor()
self.gpr.fit(x, y)
y = self.gpr.predict(x)
else:
y = self.gpr.predict(x)
return y
示例8: b_fit_score
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def b_fit_score(self, x, y):
""" Computes the cds statistic from variable 1 to variable 2
Args:
a (numpy.ndarray): Variable 1
b (numpy.ndarray): Variable 2
Returns:
float: BF fit score
"""
x = np.reshape(scale(x), (-1, 1))
y = np.reshape(scale(y), (-1, 1))
gp = GaussianProcessRegressor().fit(x, y)
y_predict = gp.predict(x)
error = mean_squared_error(y_predict, y)
return error
示例9: test_gpr_rbf_fitted_return_std_exp_sine_squared_true
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def test_gpr_rbf_fitted_return_std_exp_sine_squared_true(self):
gp = GaussianProcessRegressor(kernel=ExpSineSquared(),
alpha=1e-7,
n_restarts_optimizer=15,
normalize_y=True)
gp.fit(Xtrain_, Ytrain_)
# return_cov=False, return_std=False
options = {GaussianProcessRegressor: {"return_std": True}}
gp.predict(Xtrain_, return_std=True)
model_onnx = to_onnx(
gp, initial_types=[('X', DoubleTensorType([None, None]))],
options=options, dtype=np.float64,
target_opset=TARGET_OPSET)
self.assertTrue(model_onnx is not None)
dump_data_and_model(
Xtest_.astype(np.float64), gp, model_onnx,
verbose=False,
basename="SklearnGaussianProcessExpSineSquaredStdT-Out0-Dec3")
self.check_outputs(gp, model_onnx, Xtest_.astype(np.float64),
predict_attributes=options[
GaussianProcessRegressor],
decimal=4)
示例10: test_gpr_rbf_fitted_return_std_exp_sine_squared_double_true
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def test_gpr_rbf_fitted_return_std_exp_sine_squared_double_true(self):
gp = GaussianProcessRegressor(kernel=ExpSineSquared(),
alpha=1e-7,
n_restarts_optimizer=15,
normalize_y=True)
gp.fit(Xtrain_, Ytrain_)
# return_cov=False, return_std=False
options = {GaussianProcessRegressor: {"return_std": True}}
gp.predict(Xtrain_, return_std=True)
model_onnx = to_onnx(
gp, initial_types=[('X', DoubleTensorType([None, None]))],
options=options, dtype=np.float64,
target_opset=TARGET_OPSET)
self.assertTrue(model_onnx is not None)
dump_data_and_model(
Xtest_.astype(np.float64), gp, model_onnx,
verbose=False,
basename="SklearnGaussianProcessExpSineSquaredStdDouble-Out0-Dec4")
self.check_outputs(gp, model_onnx, Xtest_.astype(np.float64),
predict_attributes=options[
GaussianProcessRegressor],
decimal=4)
示例11: test_gpr_rbf_fitted_return_std_dot_product_true
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def test_gpr_rbf_fitted_return_std_dot_product_true(self):
gp = GaussianProcessRegressor(kernel=DotProduct(),
alpha=1.,
n_restarts_optimizer=15,
normalize_y=True)
gp.fit(Xtrain_, Ytrain_)
gp.predict(Xtrain_, return_std=True)
# return_cov=False, return_std=False
options = {GaussianProcessRegressor: {"return_std": True}}
model_onnx = to_onnx(
gp, initial_types=[('X', DoubleTensorType([None, None]))],
options=options, dtype=np.float64,
target_opset=TARGET_OPSET)
self.assertTrue(model_onnx is not None)
dump_data_and_model(
Xtest_.astype(np.float64), gp, model_onnx,
basename="SklearnGaussianProcessDotProductStdDouble-Out0-Dec3")
self.check_outputs(gp, model_onnx, Xtest_.astype(np.float64),
predict_attributes=options[
GaussianProcessRegressor],
decimal=3)
示例12: test_gpr_rbf_fitted_return_std_rational_quadratic_true
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def test_gpr_rbf_fitted_return_std_rational_quadratic_true(self):
gp = GaussianProcessRegressor(kernel=RationalQuadratic(),
alpha=1e-7,
n_restarts_optimizer=15,
normalize_y=True)
gp.fit(Xtrain_, Ytrain_)
gp.predict(Xtrain_, return_std=True)
# return_cov=False, return_std=False
options = {GaussianProcessRegressor: {"return_std": True}}
model_onnx = to_onnx(
gp, initial_types=[('X', DoubleTensorType([None, None]))],
options=options, dtype=np.float64,
target_opset=TARGET_OPSET)
self.assertTrue(model_onnx is not None)
dump_data_and_model(
Xtest_.astype(np.float64), gp, model_onnx,
basename="SklearnGaussianProcessRationalQuadraticStdDouble-Out0")
self.check_outputs(gp, model_onnx, Xtest_.astype(np.float64),
predict_attributes=options[
GaussianProcessRegressor])
示例13: test_gpr_fitted_partial_float64
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def test_gpr_fitted_partial_float64(self):
data = load_iris()
X = data.data
y = data.target
X_train, X_test, y_train, y_test = train_test_split(X, y)
gp = GaussianProcessRegressor(kernel=DotProduct(), alpha=10.)
gp.fit(X_train, y_train)
model_onnx = to_onnx(
gp, initial_types=[('X', FloatTensorType([None, None]))])
self.assertTrue(model_onnx is not None)
try:
self.check_outputs(gp, model_onnx, X_test.astype(np.float32), {})
except AssertionError as e:
assert "Max relative difference:" in str(e)
model_onnx = to_onnx(
gp, initial_types=[('X', DoubleTensorType([None, None]))],
dtype=np.float64)
self.assertTrue(model_onnx is not None)
self.check_outputs(gp, model_onnx, X_test, {})
示例14: test_grid_search_gaussian_regressor_float
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def test_grid_search_gaussian_regressor_float(self):
tuned_parameters = [{'alpha': np.logspace(-4, -0.5, 4)}]
clf = GridSearchCV(GaussianProcessRegressor(),
tuned_parameters, cv=5)
model, X = fit_regression_model(clf)
model_onnx = convert_sklearn(
model, "GridSearchCV",
[("input", FloatTensorType([None, X.shape[1]]))])
self.assertIsNotNone(model_onnx)
dump_data_and_model(
X,
model,
model_onnx,
basename="SklearnGridSearchGaussianRegressionFloat"
"-OneOffArray-Dec4",
allow_failure="StrictVersion("
"onnxruntime.__version__) "
"<= StrictVersion('0.4.0') or "
"StrictVersion(onnx.__version__) "
"== StrictVersion('1.4.1')",
)
示例15: test_grid_search_gaussian_regressor_double
# 需要导入模块: from sklearn import gaussian_process [as 别名]
# 或者: from sklearn.gaussian_process import GaussianProcessRegressor [as 别名]
def test_grid_search_gaussian_regressor_double(self):
tuned_parameters = [{'alpha': np.logspace(-4, -0.5, 4)}]
clf = GridSearchCV(GaussianProcessRegressor(),
tuned_parameters, cv=3)
model, X = fit_regression_model(clf)
model_onnx = convert_sklearn(
model, "GridSearchCV",
[("input", DoubleTensorType([None, X.shape[1]]))],
dtype=np.float64)
self.assertIsNotNone(model_onnx)
dump_data_and_model(
X.astype(np.float64),
model,
model_onnx,
basename="SklearnGridSearchGaussianRegressionDouble"
"-OneOffArray-Dec4",
allow_failure="StrictVersion("
"onnxruntime.__version__) "
"<= StrictVersion('0.4.0') or "
"StrictVersion(onnx.__version__) "
"== StrictVersion('1.4.1')",
)