SklearnRegressor#

class skactiveml.regressor.SklearnRegressor(estimator, include_unlabeled_samples=False, missing_label=nan, random_state=None, target_type='auto')[source]#

Bases: SkactivemlRegressor, MetaEstimatorMixin

Sklearn Regressor

Implementation of a wrapper class for scikit-learn regressors such that missing labels can be handled. Therefore, samples with missing values are filtered.

Parameters:
estimatorsklearn.base.RegressorMixin with predict method

scikit-learn regressor.

include_unlabeled_samplesbool, default=False
  • If False, only labeled samples are passed to the fit method of the estimator.

  • If True, all samples including the unlabeled ones are passed to the fit method of the estimator. Ensure that your estimator is able to handle unlabeled samples marked by missing_label. Otherwise, missing_label is interpreted as a regular target value.

missing_labelscalar or string or np.nan or None, default=np.nan

Value to represent a missing label.

random_stateint or RandomState instance or None, default=None

Determines random number for predict method. Pass an int for reproducible results across multiple method calls.

target_type“auto” or “single-output”, default=”auto”

Declared target type. This wrapper supports only single-output regression.

Attributes:
target_spec_skactiveml.utils.TargetSpec

Immutable target specification established by a successful fit. Its target_type is “single-output” and its classes field is None for supported version 1.1 execution.

Notes

Attributes this wrapper does not hold itself are read from the wrapped estimator. The fitted attributes it resolves itself, e.g. target_spec_, never are: around a pre-fitted estimator they resolve this wrapper’s own target semantics on first access, and they raise the usual not-fitted error while no such semantics exist. A pre-fitted estimator’s own target specification stays readable as estimator.target_spec_.

Methods

fit(X, y[, sample_weight])

Fit the model using X as training data and y as labels.

partial_fit(X, y[, sample_weight])

Partially fitting the model using X as training data and y as labels.

predict(X, **predict_kwargs)

Return label predictions for the input data X.

sample(X[, n_samples])

Assumes a probabilistic regressor.

sample_y(X[, n_samples])

Assumes a probabilistic regressor.

get_metadata_routing()

Get metadata routing of this object.

get_params([deep])

Get parameters for this estimator.

score(X, y[, sample_weight])

Return coefficient of determination on test data.

set_fit_request(*[, sample_weight])

Configure whether metadata should be requested to be passed to the fit method.

set_params(**params)

Set the parameters of this estimator.

set_partial_fit_request(*[, sample_weight])

Configure whether metadata should be requested to be passed to the partial_fit method.

set_score_request(*[, sample_weight])

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

SklearnRegressor.fit(X, y, sample_weight=None, **fit_kwargs)[source]#

Fit the model using X as training data and y as labels.

Parameters:
Xmatrix-like of shape (n_samples, n_features)

The sample matrix X is the feature matrix representing the samples.

yarray-like of shape (n_samples,)

It contains the numeric target values of the training samples. Missing labels are represented as self.missing_label.

sample_weightarray-like of shape (n_samples,), default=None

It contains the weights of the training samples´ labels. It must have the same shape as y.

fit_kwargsdict-like

Further parameters are passed as input to the fit method of the ‘estimator’.

Returns:
self: SklearnRegressor,

The SklearnRegressor is fitted on the training data.

SklearnRegressor.partial_fit(X, y, sample_weight=None, **fit_kwargs)[source]#

Partially fitting the model using X as training data and y as labels.

Parameters:
Xmatrix-like of shape (n_samples, n_features)

The sample matrix X is the feature matrix representing the samples.

yarray-like of shape (n_samples,)

It contains the numeric labels of the training samples. Missing labels are represented the attribute self.missing_label.

sample_weightarray-like of shape (n_samples,)

It contains the weights of the training samples’ numeric labels. It must have the same shape as y.

fit_kwargsdict-like

Further parameters as input to the fit method of the estimator.

Returns:
selfSklearnRegressor,

The SklearnRegressor is fitted on the training data.

SklearnRegressor.predict(X, **predict_kwargs)[source]#

Return label predictions for the input data X.

Parameters:
Xarray-like of shape (n_samples, n_features)

Input samples.

predict_kwargsdict-like

Further parameters are passed as input to the predict method of the estimator. If the estimator could not be fitted, only return_std is supported as keyword argument.

Returns:
yndarray of shape (n_samples,)

Predicted labels of the input samples.

SklearnRegressor.sample(X, n_samples=1, **sample_kwargs)[source]#

Assumes a probabilistic regressor. Samples are drawn from a predicted target distribution.

Parameters:
Xarray-like of shape (n_samples_X, n_features)

Input samples from which the target values are drawn.

n_samplesint, default=1

Number of random samples to be drawn.

**sample_kwargsdict

Additional keyword arguments for sampling. For example:

random_stateint, RandomState instance or None, default=None

Determines the random number generation for drawing samples. Pass an int for reproducible results across multiple method calls.

Returns:
y_samplesndarray of shape (n_samples_X, n_samples)

Drawn random target samples.

SklearnRegressor.sample_y(X, n_samples=1, **sample_kwargs)[source]#

Assumes a probabilistic regressor. Samples are drawn from a predicted target distribution.

Parameters:
Xarray-like of shape (n_samples_X, n_features)

Input samples from which the target values are drawn.

n_samplesint, default=1

Number of random samples to be drawn.

**sample_kwargsdict

Additional keyword arguments for sampling. For example:

random_stateint, RandomState instance or None, default=None

Determines the random number generation for drawing samples. Pass an int for reproducible results across multiple method calls.

Returns:
y_samplesndarray of shape (n_samples_X, n_samples)

Drawn random target samples.

SklearnRegressor.get_metadata_routing()#

Get metadata routing of this object.

Please check User Guide on how the routing mechanism works.

Returns:
routingMetadataRequest

A MetadataRequest encapsulating routing information.

SklearnRegressor.get_params(deep=True)#

Get parameters for this estimator.

Parameters:
deepbool, default=True

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

Returns:
paramsdict

Parameter names mapped to their values.

SklearnRegressor.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:
Xarray-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.

yarray-like of shape (n_samples,) or (n_samples, n_outputs)

True values for X.

sample_weightarray-like of shape (n_samples,), default=None

Sample weights.

Returns:
scorefloat

\(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).

SklearnRegressor.set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') → SklearnRegressor#

Configure whether metadata should be requested to be passed to the fit 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 fit 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 fit.

  • 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_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Metadata routing for sample_weight parameter in fit.

Returns:
selfobject

The updated object.

SklearnRegressor.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:
**paramsdict

Estimator parameters.

Returns:
selfestimator instance

Estimator instance.

SklearnRegressor.set_partial_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') → SklearnRegressor#

Configure whether metadata should be requested to be passed to the partial_fit 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 partial_fit 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 partial_fit.

  • 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_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Metadata routing for sample_weight parameter in partial_fit.

Returns:
selfobject

The updated object.

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

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_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Metadata routing for sample_weight parameter in score.

Returns:
selfobject

The updated object.

Examples using skactiveml.regressor.SklearnRegressor#

Query-by-Committee (QBC) with Empirical Variance

Query-by-Committee (QBC) with Empirical Variance

Regression Tree Based Active Learning (RT-AL) with Diversity Selection

Regression Tree Based Active Learning (RT-AL) with Diversity Selection

Regression Tree Based Active Learning (RT-AL) with Random Selection

Regression Tree Based Active Learning (RT-AL) with Random Selection

Regression Tree Based Active Learning (RT-AL) with Representativity Selection

Regression Tree Based Active Learning (RT-AL) with Representativity Selection