snowflake.ml.modeling.gaussian_process.GaussianProcessRegressor¶
- class snowflake.ml.modeling.gaussian_process.GaussianProcessRegressor(*, kernel=None, alpha=1e-10, optimizer='fmin_l_bfgs_b', n_restarts_optimizer=0, normalize_y=False, copy_X_train=True, n_targets=None, random_state=None, input_cols: Optional[Union[str, Iterable[str]]] = None, output_cols: Optional[Union[str, Iterable[str]]] = None, label_cols: Optional[Union[str, Iterable[str]]] = None, drop_input_cols: Optional[bool] = False, sample_weight_col: Optional[str] = None)¶
Bases:
BaseTransformer
Gaussian process regression (GPR) For more details on this class, see sklearn.gaussian_process.GaussianProcessRegressor
- kernel: kernel instance, default=None
The kernel specifying the covariance function of the GP. If None is passed, the kernel
ConstantKernel(1.0, constant_value_bounds="fixed") * RBF(1.0, length_scale_bounds="fixed")
is used as default. Note that the kernel hyperparameters are optimized during fitting unless the bounds are marked as “fixed”.- alpha: float or ndarray of shape (n_samples,), default=1e-10
Value added to the diagonal of the kernel matrix during fitting. This can prevent a potential numerical issue during fitting, by ensuring that the calculated values form a positive definite matrix. It can also be interpreted as the variance of additional Gaussian measurement noise on the training observations. Note that this is different from using a WhiteKernel. If an array is passed, it must have the same number of entries as the data used for fitting and is used as datapoint-dependent noise level. Allowing to specify the noise level directly as a parameter is mainly for convenience and for consistency with
Ridge
.- optimizer: “fmin_l_bfgs_b”, callable or None, default=”fmin_l_bfgs_b”
Can either be one of the internally supported optimizers for optimizing the kernel’s parameters, specified by a string, or an externally defined optimizer passed as a callable. If a callable is passed, it must have the signature:
def optimizer(obj_func, initial_theta, bounds): # * 'obj_func': the objective function to be minimized, which # takes the hyperparameters theta as a parameter and an # optional flag eval_gradient, which determines if the # gradient is returned additionally to the function value # * 'initial_theta': the initial value for theta, which can be # used by local optimizers # * 'bounds': the bounds on the values of theta .... # Returned are the best found hyperparameters theta and # the corresponding value of the target function. return theta_opt, func_min
Per default, the L-BFGS-B algorithm from scipy.optimize.minimize is used. If None is passed, the kernel’s parameters are kept fixed. Available internal optimizers are: {‘fmin_l_bfgs_b’}.
- n_restarts_optimizer: int, default=0
The number of restarts of the optimizer for finding the kernel’s parameters which maximize the log-marginal likelihood. The first run of the optimizer is performed from the kernel’s initial parameters, the remaining ones (if any) from thetas sampled log-uniform randomly from the space of allowed theta-values. If greater than 0, all bounds must be finite. Note that n_restarts_optimizer == 0 implies that one run is performed.
- normalize_y: bool, default=False
Whether or not to normalize the target values y by removing the mean and scaling to unit-variance. This is recommended for cases where zero-mean, unit-variance priors are used. Note that, in this implementation, the normalisation is reversed before the GP predictions are reported.
- copy_X_train: bool, default=True
If True, a persistent copy of the training data is stored in the object. Otherwise, just a reference to the training data is stored, which might cause predictions to change if the data is modified externally.
- n_targets: int, default=None
The number of dimensions of the target values. Used to decide the number of outputs when sampling from the prior distributions (i.e. calling
sample_y()
beforefit()
). This parameter is ignored oncefit()
has been called.- random_state: int, RandomState instance or None, default=None
Determines random number generation used to initialize the centers. Pass an int for reproducible results across multiple function calls. See Glossary.
- input_cols: Optional[Union[str, List[str]]]
A string or list of strings representing column names that contain features. If this parameter is not specified, all columns in the input DataFrame except the columns specified by label_cols and sample-weight_col parameters are considered input columns.
- label_cols: Optional[Union[str, List[str]]]
A string or list of strings representing column names that contain labels. This is a required param for estimators, as there is no way to infer these columns. If this parameter is not specified, then object is fitted without labels(Like a transformer).
- output_cols: Optional[Union[str, List[str]]]
A string or list of strings representing column names that will store the output of predict and transform operations. The length of output_cols mus match the expected number of output columns from the specific estimator or transformer class used. If this parameter is not specified, output column names are derived by adding an OUTPUT_ prefix to the label column names. These inferred output column names work for estimator’s predict() method, but output_cols must be set explicitly for transformers.
- sample_weight_col: Optional[str]
A string representing the column name containing the examples’ weights. This argument is only required when working with weighted datasets.
- drop_input_cols: Optional[bool], default=False
If set, the response of predict(), transform() methods will not contain input columns.
Methods
fit
(dataset)Fit Gaussian process regression model For more details on this function, see sklearn.gaussian_process.GaussianProcessRegressor.fit
predict
(dataset)Predict using the Gaussian process regression model For more details on this function, see sklearn.gaussian_process.GaussianProcessRegressor.predict
score
(dataset)Return the coefficient of determination of the prediction For more details on this function, see sklearn.gaussian_process.GaussianProcessRegressor.score
set_input_cols
(input_cols)Input columns setter.
to_sklearn
()Get sklearn.gaussian_process.GaussianProcessRegressor object.
Attributes
model_signatures
Returns model signature of current class.