GRUClassifier#
- class GRUClassifier(hidden_dim: int = 256, n_layers: int = 4, batch_first: bool = False, bias: bool = True, init_weights: bool = True, dropout: float = 0.0, fc_dropout: float = 0.0, bidirectional: bool = False, num_epochs: int = 10, batch_size: int = 8, optimizer: str = None, criterion: str = None, criterion_kwargs: dict = None, optimizer_kwargs: dict = None, lr: float = 0.001, verbose: bool = False, random_state: int = None)[source]#
Gated Recurrent Unit (GRU) for time series classification.
This classifier has been wrapped around implementations from [1], [2] and [3].
- Parameters:
- hidden_dimint
Number of features in the hidden state.
- n_layersint
Number of recurrent layers.
- batch_firstbool
If True, then the input and output tensors are provided as (batch, seq, feature), default is False.
- biasbool
If False, then the layer does not use bias weights, default is True.
- init_weightsbool
If True, then the weights are initialized, default is True.
- dropoutfloat
Dropout rate to apply. default is 0.0
- fc_dropoutfloat
Dropout rate to apply to the fully connected layer. default is 0.0
- bidirectionalbool
If True, then the GRU is bidirectional, default is False.
- num_epochsint, optional (default=10)
The number of epochs to train the model.
- optimizerstr, optional (default=None)
The optimizer to use. If None, Adam will be used.
- activationstr, optional (default=”relu”)
The activation function to use. Options: [“relu”, “softmax”].
- batch_sizeint, optional (default=8)
The size of each mini-batch during training.
- criterioncallable, optional (default=None)
The loss function to use. If None, CrossEntropyLoss will be used.
- criterion_kwargsdict, optional (default=None)
Additional keyword arguments to pass to the loss function.
- optimizer_kwargsdict, optional (default=None)
Additional keyword arguments to pass to the optimizer.
- lrfloat, optional (default=0.001)
The learning rate to use for the optimizer.
- verbosebool, optional (default=False)
Whether to print progress information during training.
- random_stateint, optional (default=None)
Seed to ensure reproducibility.
- Attributes:
is_fitted
Whether
fit
has been called.
References
[1]Cho, Kyunghyun, et al. “Learning phrase representations using RNN encoder-decoder for statistical machine translation.” arXiv preprint arXiv:1406.1078 (2014).
[2]Junyoung Chung, Caglar Gulcehre, KyungHyun Cho, Yoshua Bengio. Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling. arXiv preprint arXiv:1412.3555 (2014).
Methods
check_is_fitted
([method_name])Check if the estimator has been fitted.
clone
()Obtain a clone of the object with same hyper-parameters and config.
clone_tags
(estimator[, tag_names])Clone tags from another object as dynamic override.
create_test_instance
([parameter_set])Construct an instance of the class, using first test parameter set.
create_test_instances_and_names
([parameter_set])Create list of all test instances and a list of names for them.
fit
(X, y)Fit time series classifier to training data.
fit_predict
(X, y[, cv, change_state])Fit and predict labels for sequences in X.
fit_predict_proba
(X, y[, cv, change_state])Fit and predict labels probabilities for sequences in X.
get_class_tag
(tag_name[, tag_value_default])Get class tag value from class, with tag level inheritance from parents.
Get class tags from class, with tag level inheritance from parent classes.
Get config flags for self.
get_fitted_params
([deep])Get fitted parameters.
Get object's parameter defaults.
get_param_names
([sort])Get object's parameter names.
get_params
([deep])Get a dict of parameters values for this object.
get_tag
(tag_name[, tag_value_default, ...])Get tag value from instance, with tag level inheritance and overrides.
get_tags
()Get tags from instance, with tag level inheritance and overrides.
get_test_params
([parameter_set])Return testing parameter settings for the estimator.
Check if the object is composed of other BaseObjects.
load_from_path
(serial)Load object from file location.
load_from_serial
(serial)Load object from serialized memory container.
predict
(X)Predicts labels for sequences in X.
Predicts labels probabilities for sequences in X.
reset
()Reset the object to a clean post-init state.
save
([path, serialization_format])Save serialized self to bytes-like object or to (.zip) file.
score
(X, y)Scores predicted labels against ground truth labels on X.
set_config
(**config_dict)Set config flags to given values.
set_params
(**params)Set the parameters of this object.
set_random_state
([random_state, deep, ...])Set random_state pseudo-random seed parameters for self.
set_tags
(**tag_dict)Set instance level tag overrides to given values.
- classmethod get_test_params(parameter_set='default')[source]#
Return testing parameter settings for the estimator.
- Parameters:
- parameter_setstr, default=”default”
Name of the set of test parameters to return, for use in tests. If no special parameters are defined for a value, will return
"default"
set. Reserved values for classifiers:- “results_comparison” - used for identity testing in some classifiers
should contain parameter settings comparable to “TSC bakeoff”
- Returns:
- paramsdict or list of dict, default = {}
Parameters to create testing instances of the class Each dict are parameters to construct an “interesting” test instance, i.e.,
MyClass(**params)
orMyClass(**params[i])
creates a valid test instance.create_test_instance
uses the first (or only) dictionary inparams
- check_is_fitted(method_name=None)[source]#
Check if the estimator has been fitted.
Check if
_is_fitted
attribute is present andTrue
. Theis_fitted
attribute should be set toTrue
in calls to an object’sfit
method.If not, raises a
NotFittedError
.- Parameters:
- method_namestr, optional
Name of the method that called this function. If provided, the error message will include this information.
- Raises:
- NotFittedError
If the estimator has not been fitted yet.
- clone()[source]#
Obtain a clone of the object with same hyper-parameters and config.
A clone is a different object without shared references, in post-init state. This function is equivalent to returning
sklearn.clone
ofself
.Equivalent to constructing a new instance of
type(self)
, with parameters ofself
, that is,type(self)(**self.get_params(deep=False))
.If configs were set on
self
, the clone will also have the same configs as the original, equivalent to callingcloned_self.set_config(**self.get_config())
.Also equivalent in value to a call of
self.reset
, with the exception thatclone
returns a new object, instead of mutatingself
likereset
.- Raises:
- RuntimeError if the clone is non-conforming, due to faulty
__init__
.
- RuntimeError if the clone is non-conforming, due to faulty
- clone_tags(estimator, tag_names=None)[source]#
Clone tags from another object as dynamic override.
Every
scikit-base
compatible object has a dictionary of tags. Tags may be used to store metadata about the object, or to control behaviour of the object.Tags are key-value pairs specific to an instance
self
, they are static flags that are not changed after construction of the object.clone_tags
sets dynamic tag overrides from another object,estimator
.The
clone_tags
method should be called only in the__init__
method of an object, during construction, or directly after construction via__init__
.The dynamic tags are set to the values of the tags in
estimator
, with the names specified intag_names
.The default of
tag_names
writes all tags fromestimator
toself
.Current tag values can be inspected by
get_tags
orget_tag
.- Parameters:
- estimatorAn instance of :class:BaseObject or derived class
- tag_namesstr or list of str, default = None
Names of tags to clone. The default (
None
) clones all tags fromestimator
.
- Returns:
- self
Reference to
self
.
- classmethod create_test_instance(parameter_set='default')[source]#
Construct an instance of the class, using first test parameter set.
- Parameters:
- parameter_setstr, default=”default”
Name of the set of test parameters to return, for use in tests. If no special parameters are defined for a value, will return “default” set.
- Returns:
- instanceinstance of the class with default parameters
- classmethod create_test_instances_and_names(parameter_set='default')[source]#
Create list of all test instances and a list of names for them.
- Parameters:
- parameter_setstr, default=”default”
Name of the set of test parameters to return, for use in tests. If no special parameters are defined for a value, will return “default” set.
- Returns:
- objslist of instances of cls
i-th instance is
cls(**cls.get_test_params()[i])
- nameslist of str, same length as objs
i-th element is name of i-th instance of obj in tests. The naming convention is
{cls.__name__}-{i}
if more than one instance, otherwise{cls.__name__}
- fit(X, y)[source]#
Fit time series classifier to training data.
- State change:
Changes state to “fitted”.
- Writes to self:
Sets self.is_fitted to True. Sets fitted model attributes ending in “_”.
- Parameters:
- Xsktime compatible time series panel data container of Panel scitype
time series to fit the estimator to.
Can be in any mtype of
Panel
scitype, for instance:pd-multiindex: pd.DataFrame with columns = variables, index = pd.MultiIndex with first level = instance indices, second level = time indices
numpy3D: 3D np.array (any number of dimensions, equal length series) of shape [n_instances, n_dimensions, series_length]
or of any other supported
Panel
mtype
for list of mtypes, see
datatypes.SCITYPE_REGISTER
for specifications, see
examples/AA_datatypes_and_datasets.ipynb
Not all estimators support panels with multivariate or unequal length series, see the tag reference for details.
- ysktime compatible tabular data container, Table scitype
1D iterable, of shape [n_instances] or 2D iterable, of shape [n_instances, n_dimensions] class labels for fitting 0-th indices correspond to instance indices in X 1-st indices (if applicable) correspond to multioutput vector indices in X supported sktime types: np.ndarray (1D, 2D), pd.Series, pd.DataFrame
- Returns:
- selfReference to self.
- fit_predict(X, y, cv=None, change_state=True)[source]#
Fit and predict labels for sequences in X.
Convenience method to produce in-sample predictions and cross-validated out-of-sample predictions.
- Writes to self, if change_state=True:
Sets self.is_fitted to True. Sets fitted model attributes ending in “_”.
Does not update state if change_state=False.
- Parameters:
- Xsktime compatible time series panel data container of Panel scitype
time series to fit to and predict labels for.
Can be in any mtype of
Panel
scitype, for instance:pd-multiindex: pd.DataFrame with columns = variables, index = pd.MultiIndex with first level = instance indices, second level = time indices
numpy3D: 3D np.array (any number of dimensions, equal length series) of shape [n_instances, n_dimensions, series_length]
or of any other supported
Panel
mtype
for list of mtypes, see
datatypes.SCITYPE_REGISTER
for specifications, see
examples/AA_datatypes_and_datasets.ipynb
Not all estimators support panels with multivariate or unequal length series, see the tag reference for details.
- ysktime compatible tabular data container, Table scitype
1D iterable, of shape [n_instances] or 2D iterable, of shape [n_instances, n_dimensions] class labels for fitting 0-th indices correspond to instance indices in X 1-st indices (if applicable) correspond to multioutput vector indices in X supported sktime types: np.ndarray (1D, 2D), pd.Series, pd.DataFrame
- cvNone, int, or sklearn cross-validation object, optional, default=None
None : predictions are in-sample, equivalent to
fit(X, y).predict(X)
cv : predictions are equivalent to
fit(X_train, y_train).predict(X_test)
, where multipleX_train
,y_train
,X_test
are obtained fromcv
folds. returnedy
is union over all test fold predictions,cv
test folds must be non-intersectingint : equivalent to
cv=KFold(cv, shuffle=True, random_state=x)
, i.e., k-fold cross-validation predictions out-of-sample, and whererandom_state
x
is taken fromself
if exists, otherwisex=None
- change_statebool, optional (default=True)
if False, will not change the state of the classifier, i.e., fit/predict sequence is run with a copy, self does not change
if True, will fit self to the full X and y, end state will be equivalent to running fit(X, y)
- Returns:
- y_predsktime compatible tabular data container, of Table scitype
predicted class labels
1D iterable, of shape [n_instances], or 2D iterable, of shape [n_instances, n_dimensions].
0-th indices correspond to instance indices in X, 1-st indices (if applicable) correspond to multioutput vector indices in X.
1D np.npdarray, if y univariate (one dimension); otherwise, same type as y passed in fit
- fit_predict_proba(X, y, cv=None, change_state=True)[source]#
Fit and predict labels probabilities for sequences in X.
Convenience method to produce in-sample predictions and cross-validated out-of-sample predictions.
- Writes to self, if change_state=True:
Sets self.is_fitted to True. Sets fitted model attributes ending in “_”.
Does not update state if change_state=False.
- Parameters:
- Xsktime compatible time series panel data container of Panel scitype
time series to fit to and predict labels for.
Can be in any mtype of
Panel
scitype, for instance:pd-multiindex: pd.DataFrame with columns = variables, index = pd.MultiIndex with first level = instance indices, second level = time indices
numpy3D: 3D np.array (any number of dimensions, equal length series) of shape [n_instances, n_dimensions, series_length]
or of any other supported
Panel
mtype
for list of mtypes, see
datatypes.SCITYPE_REGISTER
for specifications, see
examples/AA_datatypes_and_datasets.ipynb
Not all estimators support panels with multivariate or unequal length series, see the tag reference for details.
- ysktime compatible tabular data container, Table scitype
1D iterable, of shape [n_instances] or 2D iterable, of shape [n_instances, n_dimensions] class labels for fitting 0-th indices correspond to instance indices in X 1-st indices (if applicable) correspond to multioutput vector indices in X supported sktime types: np.ndarray (1D, 2D), pd.Series, pd.DataFrame
- cvNone, int, or sklearn cross-validation object, optional, default=None
None : predictions are in-sample, equivalent to
fit(X, y).predict(X)
cv : predictions are equivalent to
fit(X_train, y_train).predict(X_test)
, where multipleX_train
,y_train
,X_test
are obtained fromcv
folds. returnedy
is union over all test fold predictions,cv
test folds must be non-intersectingint : equivalent to
cv=KFold(cv, shuffle=True, random_state=x)
, i.e., k-fold cross-validation predictions out-of-sample, and whererandom_state
x
is taken fromself
if exists, otherwisex=None
- change_statebool, optional (default=True)
if False, will not change the state of the classifier, i.e., fit/predict sequence is run with a copy, self does not change
if True, will fit self to the full X and y, end state will be equivalent to running fit(X, y)
- Returns:
- y_pred2D np.array of int, of shape [n_instances, n_classes]
predicted class label probabilities 0-th indices correspond to instance indices in X 1-st indices correspond to class index, in same order as in self.classes_ entries are predictive class probabilities, summing to 1
- classmethod get_class_tag(tag_name, tag_value_default=None)[source]#
Get class tag value from class, with tag level inheritance from parents.
Every
scikit-base
compatible object has a dictionary of tags. Tags may be used to store metadata about the object, or to control behaviour of the object.Tags are key-value pairs specific to an instance
self
, they are static flags that are not changed after construction of the object.The
get_class_tag
method is a class method, and retrieves the value of a tag taking into account only class-level tag values and overrides.It returns the value of the tag with name
tag_name
from the object, taking into account tag overrides, in the following order of descending priority:Tags set in the
_tags
attribute of the class.Tags set in the
_tags
attribute of parent classes,
in order of inheritance.
Does not take into account dynamic tag overrides on instances, set via
set_tags
orclone_tags
, that are defined on instances.To retrieve tag values with potential instance overrides, use the
get_tag
method instead.- Parameters:
- tag_namestr
Name of tag value.
- tag_value_defaultany type
Default/fallback value if tag is not found.
- Returns:
- tag_value
Value of the
tag_name
tag inself
. If not found, returnstag_value_default
.
- classmethod get_class_tags()[source]#
Get class tags from class, with tag level inheritance from parent classes.
Every
scikit-base
compatible object has a dictionary of tags. Tags may be used to store metadata about the object, or to control behaviour of the object.Tags are key-value pairs specific to an instance
self
, they are static flags that are not changed after construction of the object.The
get_class_tags
method is a class method, and retrieves the value of a tag taking into account only class-level tag values and overrides.It returns a dictionary with keys being keys of any attribute of
_tags
set in the class or any of its parent classes.Values are the corresponding tag values, with overrides in the following order of descending priority:
Tags set in the
_tags
attribute of the class.Tags set in the
_tags
attribute of parent classes,
in order of inheritance.
Instances can override these tags depending on hyper-parameters.
To retrieve tags with potential instance overrides, use the
get_tags
method instead.Does not take into account dynamic tag overrides on instances, set via
set_tags
orclone_tags
, that are defined on instances.For including overrides from dynamic tags, use
get_tags
.- Returns:
- collected_tagsdict
Dictionary of tag name : tag value pairs. Collected from
_tags
class attribute via nested inheritance. NOT overridden by dynamic tags set byset_tags
orclone_tags
.
- get_config()[source]#
Get config flags for self.
Configs are key-value pairs of
self
, typically used as transient flags for controlling behaviour.get_config
returns dynamic configs, which override the default configs.Default configs are set in the class attribute
_config
of the class or its parent classes, and are overridden by dynamic configs set viaset_config
.Configs are retained under
clone
orreset
calls.- Returns:
- config_dictdict
Dictionary of config name : config value pairs. Collected from _config class attribute via nested inheritance and then any overrides and new tags from _onfig_dynamic object attribute.
- get_fitted_params(deep=True)[source]#
Get fitted parameters.
- State required:
Requires state to be “fitted”.
- Parameters:
- deepbool, default=True
Whether to return fitted parameters of components.
If True, will return a dict of parameter name : value for this object, including fitted parameters of fittable components (= BaseEstimator-valued parameters).
If False, will return a dict of parameter name : value for this object, but not include fitted parameters of components.
- Returns:
- fitted_paramsdict with str-valued keys
Dictionary of fitted parameters, paramname : paramvalue keys-value pairs include:
always: all fitted parameters of this object, as via
get_param_names
values are fitted parameter value for that key, of this objectif
deep=True
, also contains keys/value pairs of component parameters parameters of components are indexed as[componentname]__[paramname]
all parameters ofcomponentname
appear asparamname
with its valueif
deep=True
, also contains arbitrary levels of component recursion, e.g.,[componentname]__[componentcomponentname]__[paramname]
, etc
- classmethod get_param_defaults()[source]#
Get object’s parameter defaults.
- Returns:
- default_dict: dict[str, Any]
Keys are all parameters of
cls
that have a default defined in__init__
. Values are the defaults, as defined in__init__
.
- classmethod get_param_names(sort=True)[source]#
Get object’s parameter names.
- Parameters:
- sortbool, default=True
Whether to return the parameter names sorted in alphabetical order (True), or in the order they appear in the class
__init__
(False).
- Returns:
- param_names: list[str]
List of parameter names of
cls
. Ifsort=False
, in same order as they appear in the class__init__
. Ifsort=True
, alphabetically ordered.
- get_params(deep=True)[source]#
Get a dict of parameters values for this object.
- Parameters:
- deepbool, default=True
Whether to return parameters of components.
If
True
, will return adict
of parameter name : value for this object, including parameters of components (=BaseObject
-valued parameters).If
False
, will return adict
of parameter name : value for this object, but not include parameters of components.
- Returns:
- paramsdict with str-valued keys
Dictionary of parameters, paramname : paramvalue keys-value pairs include:
always: all parameters of this object, as via
get_param_names
values are parameter value for that key, of this object values are always identical to values passed at constructionif
deep=True
, also contains keys/value pairs of component parameters parameters of components are indexed as[componentname]__[paramname]
all parameters ofcomponentname
appear asparamname
with its valueif
deep=True
, also contains arbitrary levels of component recursion, e.g.,[componentname]__[componentcomponentname]__[paramname]
, etc
- get_tag(tag_name, tag_value_default=None, raise_error=True)[source]#
Get tag value from instance, with tag level inheritance and overrides.
Every
scikit-base
compatible object has a dictionary of tags. Tags may be used to store metadata about the object, or to control behaviour of the object.Tags are key-value pairs specific to an instance
self
, they are static flags that are not changed after construction of the object.The
get_tag
method retrieves the value of a single tag with nametag_name
from the instance, taking into account tag overrides, in the following order of descending priority:Tags set via
set_tags
orclone_tags
on the instance,
at construction of the instance.
Tags set in the
_tags
attribute of the class.Tags set in the
_tags
attribute of parent classes,
in order of inheritance.
- Parameters:
- tag_namestr
Name of tag to be retrieved
- tag_value_defaultany type, optional; default=None
Default/fallback value if tag is not found
- raise_errorbool
whether a
ValueError
is raised when the tag is not found
- Returns:
- tag_valueAny
Value of the
tag_name
tag inself
. If not found, raises an error ifraise_error
is True, otherwise it returnstag_value_default
.
- Raises:
- ValueError, if
raise_error
isTrue
. The
ValueError
is then raised iftag_name
is not inself.get_tags().keys()
.
- ValueError, if
- get_tags()[source]#
Get tags from instance, with tag level inheritance and overrides.
Every
scikit-base
compatible object has a dictionary of tags. Tags may be used to store metadata about the object, or to control behaviour of the object.Tags are key-value pairs specific to an instance
self
, they are static flags that are not changed after construction of the object.The
get_tags
method returns a dictionary of tags, with keys being keys of any attribute of_tags
set in the class or any of its parent classes, or tags set viaset_tags
orclone_tags
.Values are the corresponding tag values, with overrides in the following order of descending priority:
Tags set via
set_tags
orclone_tags
on the instance,
at construction of the instance.
Tags set in the
_tags
attribute of the class.Tags set in the
_tags
attribute of parent classes,
in order of inheritance.
- Returns:
- collected_tagsdict
Dictionary of tag name : tag value pairs. Collected from
_tags
class attribute via nested inheritance and then any overrides and new tags from_tags_dynamic
object attribute.
- is_composite()[source]#
Check if the object is composed of other BaseObjects.
A composite object is an object which contains objects, as parameters. Called on an instance, since this may differ by instance.
- Returns:
- composite: bool
Whether an object has any parameters whose values are
BaseObject
descendant instances.
- property is_fitted[source]#
Whether
fit
has been called.Inspects object’s
_is_fitted` attribute that should initialize to ``False
during object construction, and be set to True in calls to an object’s fit method.- Returns:
- bool
Whether the estimator has been fit.
- classmethod load_from_path(serial)[source]#
Load object from file location.
- Parameters:
- serialresult of ZipFile(path).open(“object)
- Returns:
- deserialized self resulting in output at
path
, ofcls.save(path)
- deserialized self resulting in output at
- classmethod load_from_serial(serial)[source]#
Load object from serialized memory container.
- Parameters:
- serial1st element of output of
cls.save(None)
- serial1st element of output of
- Returns:
- deserialized self resulting in output
serial
, ofcls.save(None)
- deserialized self resulting in output
- predict(X)[source]#
Predicts labels for sequences in X.
- Parameters:
- Xsktime compatible time series panel data container of Panel scitype
time series to predict labels for.
Can be in any mtype of
Panel
scitype, for instance:pd-multiindex: pd.DataFrame with columns = variables, index = pd.MultiIndex with first level = instance indices, second level = time indices
numpy3D: 3D np.array (any number of dimensions, equal length series) of shape [n_instances, n_dimensions, series_length]
or of any other supported
Panel
mtype
for list of mtypes, see
datatypes.SCITYPE_REGISTER
for specifications, see
examples/AA_datatypes_and_datasets.ipynb
Not all estimators support panels with multivariate or unequal length series, see the tag reference for details.
- Returns:
- y_predsktime compatible tabular data container, of Table scitype
predicted class labels
1D iterable, of shape [n_instances], or 2D iterable, of shape [n_instances, n_dimensions].
0-th indices correspond to instance indices in X, 1-st indices (if applicable) correspond to multioutput vector indices in X.
1D np.npdarray, if y univariate (one dimension); otherwise, same type as y passed in fit
- predict_proba(X)[source]#
Predicts labels probabilities for sequences in X.
- Parameters:
- Xsktime compatible time series panel data container of Panel scitype
time series to predict labels for.
Can be in any mtype of
Panel
scitype, for instance:pd-multiindex: pd.DataFrame with columns = variables, index = pd.MultiIndex with first level = instance indices, second level = time indices
numpy3D: 3D np.array (any number of dimensions, equal length series) of shape [n_instances, n_dimensions, series_length]
or of any other supported
Panel
mtype
for list of mtypes, see
datatypes.SCITYPE_REGISTER
for specifications, see
examples/AA_datatypes_and_datasets.ipynb
Not all estimators support panels with multivariate or unequal length series, see the tag reference for details.
- Returns:
- y_pred2D np.array of int, of shape [n_instances, n_classes]
predicted class label probabilities 0-th indices correspond to instance indices in X 1-st indices correspond to class index, in same order as in self.classes_ entries are predictive class probabilities, summing to 1
- reset()[source]#
Reset the object to a clean post-init state.
Results in setting
self
to the state it had directly after the constructor call, with the same hyper-parameters. Config values set byset_config
are also retained.A
reset
call deletes any object attributes, except:hyper-parameters = arguments of
__init__
written toself
, e.g.,self.paramname
whereparamname
is an argument of__init__
object attributes containing double-underscores, i.e., the string “__”. For instance, an attribute named “__myattr” is retained.
config attributes, configs are retained without change. That is, results of
get_config
before and afterreset
are equal.
Class and object methods, and class attributes are also unaffected.
Equivalent to
clone
, with the exception thatreset
mutatesself
instead of returning a new object.After a
self.reset()
call,self
is equal in value and state, to the object obtained after a constructor call``type(self)(**self.get_params(deep=False))``.- Returns:
- self
Instance of class reset to a clean post-init state but retaining the current hyper-parameter values.
- save(path=None, serialization_format='pickle')[source]#
Save serialized self to bytes-like object or to (.zip) file.
Behaviour: if
path
is None, returns an in-memory serialized self ifpath
is a file location, stores self at that location as a zip filesaved files are zip files with following contents: _metadata - contains class of self, i.e., type(self) _obj - serialized self. This class uses the default serialization (pickle).
- Parameters:
- pathNone or file location (str or Path)
if None, self is saved to an in-memory object if file location, self is saved to that file location. If:
path=”estimator” then a zip file
estimator.zip
will be made at cwd. path=”/home/stored/estimator” then a zip fileestimator.zip
will be stored in/home/stored/
.- serialization_format: str, default = “pickle”
Module to use for serialization. The available options are “pickle” and “cloudpickle”. Note that non-default formats might require installation of other soft dependencies.
- Returns:
- if
path
is None - in-memory serialized self - if
path
is file location - ZipFile with reference to the file
- if
- score(X, y) float [source]#
Scores predicted labels against ground truth labels on X.
- Parameters:
- Xsktime compatible time series panel data container of Panel scitype
time series to score predicted labels for.
Can be in any mtype of
Panel
scitype, for instance:pd-multiindex: pd.DataFrame with columns = variables, index = pd.MultiIndex with first level = instance indices, second level = time indices
numpy3D: 3D np.array (any number of dimensions, equal length series) of shape [n_instances, n_dimensions, series_length]
or of any other supported
Panel
mtype
for list of mtypes, see
datatypes.SCITYPE_REGISTER
for specifications, see
examples/AA_datatypes_and_datasets.ipynb
Not all estimators support panels with multivariate or unequal length series, see the tag reference for details.
- ysktime compatible tabular data container, Table scitype
1D iterable, of shape [n_instances] or 2D iterable, of shape [n_instances, n_dimensions] class labels for fitting 0-th indices correspond to instance indices in X 1-st indices (if applicable) correspond to multioutput vector indices in X supported sktime types: np.ndarray (1D, 2D), pd.Series, pd.DataFrame
- Returns:
- float, accuracy score of predict(X) vs y
- set_config(**config_dict)[source]#
Set config flags to given values.
- Parameters:
- config_dictdict
Dictionary of config name : config value pairs. Valid configs, values, and their meaning is listed below:
- displaystr, “diagram” (default), or “text”
how jupyter kernels display instances of self
“diagram” = html box diagram representation
“text” = string printout
- print_changed_onlybool, default=True
whether printing of self lists only self-parameters that differ from defaults (False), or all parameter names and values (False). Does not nest, i.e., only affects self and not component estimators.
- warningsstr, “on” (default), or “off”
whether to raise warnings, affects warnings from sktime only
“on” = will raise warnings from sktime
“off” = will not raise warnings from sktime
- backend:parallelstr, optional, default=”None”
backend to use for parallelization when broadcasting/vectorizing, one of
“None”: executes loop sequentally, simple list comprehension
“loky”, “multiprocessing” and “threading”: uses
joblib.Parallel
“joblib”: custom and 3rd party
joblib
backends, e.g.,spark
“dask”: uses
dask
, requiresdask
package in environment
- backend:parallel:paramsdict, optional, default={} (no parameters passed)
additional parameters passed to the parallelization backend as config. Valid keys depend on the value of
backend:parallel
:“None”: no additional parameters,
backend_params
is ignored“loky”, “multiprocessing” and “threading”: default
joblib
backends any valid keys forjoblib.Parallel
can be passed here, e.g.,n_jobs
, with the exception ofbackend
which is directly controlled bybackend
. Ifn_jobs
is not passed, it will default to-1
, other parameters will default tojoblib
defaults.“joblib”: custom and 3rd party
joblib
backends, e.g.,spark
. Any valid keys forjoblib.Parallel
can be passed here, e.g.,n_jobs
,backend
must be passed as a key ofbackend_params
in this case. Ifn_jobs
is not passed, it will default to-1
, other parameters will default tojoblib
defaults.“dask”: any valid keys for
dask.compute
can be passed, e.g.,scheduler
- Returns:
- selfreference to self.
Notes
Changes object state, copies configs in config_dict to self._config_dynamic.
- set_params(**params)[source]#
Set the parameters of this object.
The method works on simple skbase objects as well as on composite objects. Parameter key strings
<component>__<parameter>
can be used for composites, i.e., objects that contain other objects, to access<parameter>
in the component<component>
. The string<parameter>
, without<component>__
, can also be used if this makes the reference unambiguous, e.g., there are no two parameters of components with the name<parameter>
.- Parameters:
- **paramsdict
BaseObject parameters, keys must be
<component>__<parameter>
strings.__
suffixes can alias full strings, if unique among get_params keys.
- Returns:
- selfreference to self (after parameters have been set)
- set_random_state(random_state=None, deep=True, self_policy='copy')[source]#
Set random_state pseudo-random seed parameters for self.
Finds
random_state
named parameters viaself.get_params
, and sets them to integers derived fromrandom_state
viaset_params
. These integers are sampled from chain hashing viasample_dependent_seed
, and guarantee pseudo-random independence of seeded random generators.Applies to
random_state
parameters inself
, depending onself_policy
, and remaining component objects if and only ifdeep=True
.Note: calls
set_params
even ifself
does not have arandom_state
, or none of the components have arandom_state
parameter. Therefore,set_random_state
will reset anyscikit-base
object, even those without arandom_state
parameter.- Parameters:
- random_stateint, RandomState instance or None, default=None
Pseudo-random number generator to control the generation of the random integers. Pass int for reproducible output across multiple function calls.
- deepbool, default=True
Whether to set the random state in skbase object valued parameters, i.e., component estimators.
If False, will set only
self
’srandom_state
parameter, if exists.If True, will set
random_state
parameters in component objects as well.
- self_policystr, one of {“copy”, “keep”, “new”}, default=”copy”
“copy” :
self.random_state
is set to inputrandom_state
“keep” :
self.random_state
is kept as is“new” :
self.random_state
is set to a new random state,
derived from input
random_state
, and in general different from it
- Returns:
- selfreference to self
- set_tags(**tag_dict)[source]#
Set instance level tag overrides to given values.
Every
scikit-base
compatible object has a dictionary of tags. Tags may be used to store metadata about the object, or to control behaviour of the object.Tags are key-value pairs specific to an instance
self
, they are static flags that are not changed after construction of the object.set_tags
sets dynamic tag overrides to the values as specified intag_dict
, with keys being the tag name, and dict values being the value to set the tag to.The
set_tags
method should be called only in the__init__
method of an object, during construction, or directly after construction via__init__
.Current tag values can be inspected by
get_tags
orget_tag
.- Parameters:
- **tag_dictdict
Dictionary of tag name: tag value pairs.
- Returns:
- Self
Reference to self.