Skip to main content
`Ctrl`+`K`

# `skopt.learning`.GradientBoostingQuantileRegressor

class skopt.learning.GradientBoostingQuantileRegressor(quantiles=None, base_estimator=None, n_jobs=1, random_state=None)

  Predict several quantiles with one estimator.

  This is a wrapper around `GradientBoostingRegressor`’s quantile regression that allows you to predict several `quantiles` in one go.

  Parameters:
    quantiles array-like

      Quantiles to predict. By default the 16, 50 and 84% quantiles are predicted.

    base_estimator GradientBoostingRegressor instance or None (default)

      Quantile regressor used to make predictions. Only instances of `GradientBoostingRegressor` are supported. Use this to change the hyper-parameters of the estimator.

    n_jobs int, default=1

      The number of jobs to run in parallel for `fit`. If -1, then the number of jobs is set to the number of cores.

    random_state int, RandomState instance, or None (default)

      Set random state to something other than None for reproducible results.

  Methods

  `fit`(X, y) | Fit one regressor for each quantile.
  `get_metadata_routing`() | Get metadata routing of this object.
  `get_params`([deep]) | Get parameters for this estimator.
  `predict`(X[, return_std, return_quantiles]) | Predict.
  `score`(X, y[, sample_weight]) | Return coefficient of determination on test data.
  `set_params`(**params) | Set the parameters of this estimator.
  `set_predict_request`(*[, return_quantiles, ...]) | Configure whether metadata should be requested to be passed to the `predict` method.
  `set_score_request`(*[, sample_weight]) | Configure whether metadata should be requested to be passed to the `score` method.

  __init__(quantiles=None, base_estimator=None, n_jobs=1, random_state=None)
  fit(X, y)

    Fit one regressor for each quantile.

    Parameters:
      X array-like, shape=(n_samples, n_features)

        Training vectors, where `n_samples` is the number of samples and `n_features` is the number of features.

      y array-like, shape=(n_samples,)

        Target values (real numbers in regression)

  get_metadata_routing()

    Get metadata routing of this object.

    Please check User Guide on how the routing mechanism works.

    Returns:
      routing MetadataRequest

        A `MetadataRequest` encapsulating routing information.

  get_params(deep=True)

    Get parameters for this estimator.

    Parameters:
      deep bool, default=True

        If True, will return the parameters for this estimator and contained subobjects that are estimators.

    Returns:
      params dict

        Parameter names mapped to their values.

  predict(X, return_std=False, return_quantiles=False)

    Predict.

    Predict `X` at every quantile if `return_std` is set to False. If `return_std` is set to True, then return the mean and the predicted standard deviation, which is approximated as the (0.84th quantile - 0.16th quantile) divided by 2.0

    Parameters:
      X array-like, shape=(n_samples, n_features)

        where `n_samples` is the number of samples and `n_features` is the number of features.

  score(X, y, sample_weight=None)

    Return coefficient of determination on test data.

    The coefficient of determination, \(R^2\), is defined as \((1 - \frac{u}{v})\), where \(u\) is the residual sum of squares `((y_true - y_pred)** 2).sum()` and \(v\) is the total sum of squares `((y_true - y_true.mean()) ** 2).sum()`. The best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of `y`, disregarding the input features, would get a \(R^2\) score of 0.0.

    Parameters:
      X array-like of shape (n_samples, n_features)

        Test samples. For some estimators this may be a precomputed kernel matrix or a list of generic objects instead with shape `(n_samples, n_samples_fitted)`, where `n_samples_fitted` is the number of samples used in the fitting for the estimator.

      y array-like of shape (n_samples,) or (n_samples, n_outputs)

        True values for `X`.

      sample_weight array-like of shape (n_samples,), default=None

        Sample weights.

    Returns:
      score float

        \(R^2\) of `self.predict(X)` w.r.t. `y`.

    Notes

    The \(R^2\) score used when calling `score` on a regressor uses `multioutput='uniform_average'` from version 0.23 to keep consistent with default value of `r2_score()`. This influences the `score` method of all the multioutput regressors (except for `MultiOutputRegressor`).

  set_params(**params)

    Set the parameters of this estimator.

    The method works on simple estimators as well as on nested objects (such as `Pipeline`). The latter have parameters of the form `<component>__<parameter>` so that it’s possible to update each component of a nested object.

    Parameters:
      **params dict

        Estimator parameters.

    Returns:
      self estimator instance

        Estimator instance.

  set_predict_request(*, return_quantiles: bool | None | str = '$UNCHANGED$', return_std: bool | None | str = '$UNCHANGED$') → GradientBoostingQuantileRegressor

    Configure whether metadata should be requested to be passed to the `predict` method.

    Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with `enable_metadata_routing=True` (see `sklearn.set_config()`). Please check the User Guide on how the routing mechanism works.

    The options for each parameter are:

    - `True`: metadata is requested, and passed to `predict` if provided. The request is ignored if metadata is not provided.

    - `False`: metadata is not requested and the meta-estimator will not pass it to `predict`.

    - `None`: metadata is not requested, and the meta-estimator will raise an error if the user provides it.

    - `str`: metadata should be passed to the meta-estimator with this given alias instead of the original name.

    The default (`sklearn.utils.metadata_routing.UNCHANGED`) retains the existing request. This allows you to change the request for some parameters and not others.

    Added in version 1.3.

    Parameters:
      return_quantiles str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

        Metadata routing for `return_quantiles` parameter in `predict`.

      return_std str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

        Metadata routing for `return_std` parameter in `predict`.

    Returns:
      self object

        The updated object.

  set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') → GradientBoostingQuantileRegressor

    Configure whether metadata should be requested to be passed to the `score` method.

    Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with `enable_metadata_routing=True` (see `sklearn.set_config()`). Please check the User Guide on how the routing mechanism works.

    The options for each parameter are:

    - `True`: metadata is requested, and passed to `score` if provided. The request is ignored if metadata is not provided.

    - `False`: metadata is not requested and the meta-estimator will not pass it to `score`.

    - `None`: metadata is not requested, and the meta-estimator will raise an error if the user provides it.

    - `str`: metadata should be passed to the meta-estimator with this given alias instead of the original name.

    The default (`sklearn.utils.metadata_routing.UNCHANGED`) retains the existing request. This allows you to change the request for some parameters and not others.

    Added in version 1.3.

    Parameters:
      sample_weight str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

        Metadata routing for `sample_weight` parameter in `score`.

    Returns:
      self object

        The updated object.