RegressorEnsemble

class RegressorEnsemble(regressors, weights=None, cv=None, metric=None, random_state=None)[source]

Weighted ensemble of regressors with fittable ensemble weight.

Parameters:
regressorslist of aeon and/or sklearn regressors or list of tuples

Estimators to be used in the ensemble. A list of tuples (str, estimator) can also be passed, where the str is used to name the estimator. The objects are cloned prior. As such, the state of the input will not be modified by fitting the ensemble.

weightsfloat, or iterable of float, default=None

If float, ensemble weight for estimator i will be train score to this power. If iterable of float, must be equal length as _estimators. Ensemble weight for

_estimator i will be weights[i]. A dict containing members of _estimators and weights is also acceptable.

If None, all estimators have equal weight.

cvNone, int, or sklearn cross-validation object, default=None

Only used if weights is a float. The method used to generate a performance estimation from the training data set i.e. cross-validation. If None, predictions are made using that estimators fit_predict or

fit_predict_proba methods. These are somtimes overridden for efficient performance evaluations, i.e. out-of-bag predictions.

If int or sklearn object input, the parameter is passed directly to the cv

parameter of the cross_val_predict function from sklearn.

metricsklearn performance metric function, default=accuracy_score

Only used if weights is a float. The metric used to evaluate the estimators.

random_stateint, RandomState instance or None, default=None

Random state used to fit the estimators. If None, no random state is set for ensemble members (but they may still be seeded prior to input). If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator;

Attributes:
ensemble_list of tuples (str, estimator) of estimators

Clones of estimators in regressors which are fitted in the ensemble. Will always be in (str, estimator) format regardless of regressors input.

weights_dict

Weights of estimators using the str names as keys.

See also

ClassifierEnsemble

An ensemble for classification tasks.

Methods

clone([random_state])

Obtain a clone of the object with the same hyperparameters.

fit(X, y)

Fit time series regressor to training data.

fit_predict(X, y)

Fits the regressor and predicts class labels for X.

get_class_tag(tag_name[, raise_error, ...])

Get tag value from estimator class (only class tags).

get_class_tags()

Get class tags from estimator class and all its parent classes.

get_fitted_params([deep])

Get fitted parameters.

get_metadata_routing()

Sklearn metadata routing.

get_params([deep])

Get parameters for this estimator.

get_tag(tag_name[, raise_error, ...])

Get tag value from estimator class.

get_tags()

Get tags from estimator.

predict(X)

Predicts target variable for time series in X.

reset([keep])

Reset the object to a clean post-init state.

score(X, y[, metric, metric_params])

Scores predicted labels against ground truth labels on X.

set_params(**params)

Set the parameters of this estimator.

set_tags(**tag_dict)

Set dynamic tags to given values.

clone(random_state=None)[source]

Obtain a clone of the object with the same hyperparameters.

A clone is a different object without shared references, in post-init state. This function is equivalent to returning sklearn.clone of self. Equal in value to type(self)(**self.get_params(deep=False)).

Parameters:
random_stateint, RandomState instance, or None, default=None

Sets the random state of the clone. If None, the random state is not set. If int, random_state is the seed used by the random number generator. If RandomState instance, random_state is the random number generator.

Returns:
estimatorobject

Instance of type(self), clone of self (see above)

fit(X, y) BaseCollectionEstimator[source]

Fit time series regressor to training data.

Parameters:
Xnp.ndarray or list

Input data, any number of channels, equal length series of shape ( n_cases, n_channels, n_timepoints) or 2D np.array (univariate, equal length series) of shape (n_cases, n_timepoints) or list of numpy arrays (any number of channels, unequal length series) of shape [n_cases], 2D np.array (n_channels, n_timepoints_i), where n_timepoints_i is length of series i. Other types are allowed and converted into one of the above.

Different estimators have different capabilities to handle different types of input. If self.get_tag(“capability:multivariate”)` is False, they cannot handle multivariate series, so either n_channels == 1 is true or X is 2D of shape (n_cases, n_timepoints). If self.get_tag( "capability:unequal_length") is False, they cannot handle unequal length input. In both situations, a ValueError is raised if X has a characteristic that the estimator does not have the capability for is passed.

ynp.ndarray

1D np.array of float, of shape (n_cases) - regression targets (ground truth) for fitting indices corresponding to instance indices in X.

Returns:
selfBaseRegressor

Reference to self.

Notes

Changes state by creating a fitted model that updates attributes ending in “_” and sets is_fitted flag to True.

fit_predict(X, y) ndarray[source]

Fits the regressor and predicts class labels for X.

fit_predict produces prediction estimates using just the train data. By default, this is through 10x cross validation, although some estimators may utilise specialist techniques such as out-of-bag estimates or leave-one-out cross-validation.

Regressors which override _fit_predict will have the capability:train_estimate tag set to True.

Generally, this will not be the same as fitting on the whole train data then making train predictions. To do this, you should call fit(X,y).predict(X)

Parameters:
Xnp.ndarray or list

Input data, any number of channels, equal length series of shape ( n_cases, n_channels, n_timepoints) or 2D np.array (univariate, equal length series) of shape (n_cases, n_timepoints) or list of numpy arrays (any number of channels, unequal length series) of shape [n_cases], 2D np.array (n_channels, n_timepoints_i), where n_timepoints_i is length of series i. other types are allowed and converted into one of the above.

Different estimators have different capabilities to handle different types of input. If self.get_tag(“capability:multivariate”)` is False, they cannot handle multivariate series, so either n_channels == 1 is true or X is 2D of shape (n_cases, n_timepoints). If self.get_tag( "capability:unequal_length") is False, they cannot handle unequal length input. In both situations, a ValueError is raised if X has a characteristic that the estimator does not have the capability for is passed.

ynp.ndarray

1D np.array of float, of shape (n_cases) - regression targets (ground truth) for fitting indices corresponding to instance indices in X.

Returns:
predictionsnp.ndarray

1D np.array of float, of shape (n_cases) - predicted regression labels indices correspond to instance indices in X

classmethod get_class_tag(tag_name, raise_error=True, tag_value_default=None)[source]

Get tag value from estimator class (only class tags).

Parameters:
tag_namestr

Name of tag value.

raise_errorbool, default=True

Whether a ValueError is raised when the tag is not found.

tag_value_defaultany type, default=None

Default/fallback value if tag is not found and error is not raised.

Returns:
tag_value

Value of the tag_name tag in cls. If not found, returns an error if raise_error is True, otherwise it returns tag_value_default.

Raises:
ValueError

if raise_error is True and tag_name is not in self.get_tags().keys()

Examples

>>> from aeon.classification import DummyClassifier
>>> DummyClassifier.get_class_tag("capability:multivariate")
True
classmethod get_class_tags()[source]

Get class tags from estimator class and all its parent classes.

Returns:
collected_tagsdict

Dictionary of tag name and tag value pairs. Collected from _tags class attribute via nested inheritance. These are not overridden by dynamic tags set by set_tags or class __init__ calls.

get_fitted_params(deep=True)[source]

Get fitted parameters.

State required:

Requires state to be “fitted”.

Parameters:
deepbool, default=True

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

Returns:
fitted_paramsdict

Fitted parameter names mapped to their values.

get_metadata_routing()[source]

Sklearn metadata routing.

Not supported by aeon estimators.

get_params(deep=True)[source]

Get parameters for this estimator.

Returns the parameters given in the constructor as well as the estimators contained within the composable estimator if deep.

Parameters:
deepbool, default=True

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

Returns:
paramsmapping of string to any

Parameter names mapped to their values.

get_tag(tag_name, raise_error=True, tag_value_default=None)[source]

Get tag value from estimator class.

Includes dynamic and overridden tags.

Parameters:
tag_namestr

Name of tag to be retrieved.

raise_errorbool, default=True

Whether a ValueError is raised when the tag is not found.

tag_value_defaultany type, default=None

Default/fallback value if tag is not found and error is not raised.

Returns:
tag_value

Value of the tag_name tag in self. If not found, returns an error if raise_error is True, otherwise it returns tag_value_default.

Raises:
ValueError

if raise_error is True and tag_name is not in self.get_tags().keys()

Examples

>>> from aeon.classification import DummyClassifier
>>> d = DummyClassifier()
>>> d.get_tag("capability:multivariate")
True
get_tags()[source]

Get tags from estimator.

Includes dynamic and overridden tags.

Returns:
collected_tagsdict

Dictionary of tag name and tag value pairs. Collected from _tags class attribute via nested inheritance and then any overridden and new tags from __init__ or set_tags.

predict(X) ndarray[source]

Predicts target variable for time series in X.

Parameters:
Xnp.ndarray or list

Input data, any number of channels, equal length series of shape ( n_cases, n_channels, n_timepoints) or 2D np.array (univariate, equal length series) of shape (n_cases, n_timepoints) or list of numpy arrays (any number of channels, unequal length series) of shape [n_cases], 2D np.array (n_channels, n_timepoints_i), where n_timepoints_i is length of series i other types are allowed and converted into one of the above.

Different estimators have different capabilities to handle different types of input. If self.get_tag(“capability:multivariate”)` is False, they cannot handle multivariate series, so either n_channels == 1 is true or X is 2D of shape (n_cases, n_timepoints). If self.get_tag( "capability:unequal_length") is False, they cannot handle unequal length input. In both situations, a ValueError is raised if X has a characteristic that the estimator does not have the capability for is passed.

Returns:
predictionsnp.ndarray

1D np.array of float, of shape (n_cases) - predicted regression labels indices correspond to instance indices in X

reset(keep=None)[source]

Reset the object to a clean post-init state.

After a self.reset() call, self is equal or similar in value to type(self)(**self.get_params(deep=False)), assuming no other attributes were kept using keep.

Detailed behaviour:
removes any object attributes, except:

hyper-parameters (arguments of __init__) object attributes containing double-underscores, i.e., the string “__”

runs __init__ with current values of hyperparameters (result of get_params)

Not affected by the reset are:

object attributes containing double-underscores class and object methods, class attributes any attributes specified in the keep argument

Parameters:
keepNone, str, or list of str, default=None

If None, all attributes are removed except hyperparameters. If str, only the attribute with this name is kept. If list of str, only the attributes with these names are kept.

Returns:
selfobject

Reference to self.

score(X, y, metric='r2', metric_params=None) float[source]

Scores predicted labels against ground truth labels on X.

Parameters:
Xnp.ndarray or list

Input data, any number of channels, equal length series of shape ( n_cases, n_channels, n_timepoints) or 2D np.array (univariate, equal length series) of shape (n_cases, n_timepoints) or list of numpy arrays (any number of channels, unequal length series) of shape [n_cases], 2D np.array (n_channels, n_timepoints_i), where n_timepoints_i is length of series i. other types are allowed and converted into one of the above.

Different estimators have different capabilities to handle different types of input. If self.get_tag(“capability:multivariate”)` is False, they cannot handle multivariate series, so either n_channels == 1 is true or X is 2D of shape (n_cases, n_timepoints). If self.get_tag( "capability:unequal_length") is False, they cannot handle unequal length input. In both situations, a ValueError is raised if X has a characteristic that the estimator does not have the capability for is passed.

ynp.ndarray

1D np.array of float, of shape (n_cases) - regression targets (ground truth) for fitting indices corresponding to instance indices in X.

metricUnion[str, callable], default=”r2”,

Defines the scoring metric to test the fit of the model. For supported strings arguments, check sklearn.metrics.get_scorer_names.

metric_paramsdict, default=None,

Contains parameters to be passed to the scoring function. If None, no parameters are passed.

Returns:
scorefloat

MSE score of predict(X) vs y

set_params(**params)[source]

Set the parameters of this estimator.

Valid parameter keys can be listed with get_params(). Note that you can directly set the parameters of the estimators contained composable estimator using their assigned name.

Parameters:
**kwargsdict

Parameters of this estimator or parameters of estimators contained within the composable estimator. Parameters of the estimators may be set using its name and the parameter name separated by a ‘__’.

Returns:
selfestimator instance

Estimator instance.

set_tags(**tag_dict)[source]

Set dynamic tags to given values.

Parameters:
**tag_dictdict

Dictionary of tag name and tag value pairs.

Returns:
selfobject

Reference to self.