You are viewing documentation about an older version (1.0.9). View latest version

snowflake.ml.modeling.gaussian_process.GaussianProcessClassifierΒΆ

class snowflake.ml.modeling.gaussian_process.GaussianProcessClassifier(*, kernel=None, optimizer='fmin_l_bfgs_b', n_restarts_optimizer=0, max_iter_predict=100, warm_start=False, copy_X_train=True, random_state=None, multi_class='one_vs_rest', n_jobs=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 classification (GPC) based on Laplace approximation For more details on this class, see sklearn.gaussian_process.GaussianProcessClassifier

kernel: kernel instance, default=None

The kernel specifying the covariance function of the GP. If None is passed, the kernel β€œ1.0 * RBF(1.0)” is used as default. Note that the kernel’s hyperparameters are optimized during fitting. Also kernel cannot be a CompoundKernel.

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' is the objective function to be maximized, which
    #   takes the hyperparameters theta as 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
Copy

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'
Copy
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.

max_iter_predict: int, default=100

The maximum number of iterations in Newton’s method for approximating the posterior during predict. Smaller values will reduce computation time at the cost of worse results.

warm_start: bool, default=False

If warm-starts are enabled, the solution of the last Newton iteration on the Laplace approximation of the posterior mode is used as initialization for the next call of _posterior_mode(). This can speed up convergence when _posterior_mode is called several times on similar problems as in hyperparameter optimization. See the Glossary.

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.

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.

multi_class: {β€˜one_vs_rest’, β€˜one_vs_one’}, default=’one_vs_rest’

Specifies how multi-class classification problems are handled. Supported are β€˜one_vs_rest’ and β€˜one_vs_one’. In β€˜one_vs_rest’, one binary Gaussian process classifier is fitted for each class, which is trained to separate this class from the rest. In β€˜one_vs_one’, one binary Gaussian process classifier is fitted for each pair of classes, which is trained to separate these two classes. The predictions of these binary predictors are combined into multi-class predictions. Note that β€˜one_vs_one’ does not support predicting probability estimates.

n_jobs: int, default=None

The number of jobs to use for the computation: the specified multiclass problems are computed in parallel. None means 1 unless in a joblib.parallel_backend context. -1 means using all processors. See Glossary for more details.

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 classification model For more details on this function, see sklearn.gaussian_process.GaussianProcessClassifier.fit

predict(dataset)

Perform classification on an array of test vectors X For more details on this function, see sklearn.gaussian_process.GaussianProcessClassifier.predict

predict_proba(dataset[, output_cols_prefix])

Return probability estimates for the test vector X For more details on this function, see sklearn.gaussian_process.GaussianProcessClassifier.predict_proba

score(dataset)

Return the mean accuracy on the given test data and labels For more details on this function, see sklearn.gaussian_process.GaussianProcessClassifier.score

set_input_cols(input_cols)

Input columns setter.

to_sklearn()

Get sklearn.gaussian_process.GaussianProcessClassifier object.

Attributes

model_signatures

Returns model signature of current class.