SlopeTransformer¶
- class SlopeTransformer(n_intervals=8)[source]¶
Piecewise slope transformation.
Class to perform a slope transformation on a collection of time series. Numpy array of shape (n_cases, n_channels, n_timepoints) is transformed to numpy array of shape (n_cases, n_channels, n_intervals). The new feature is the slope over that interval found using a total least squares regression (note that total least squares is different from ordinary least squares regression.)
- Parameters:
- n_intervalsint, number of approx equal segments
to split the time series into.
- Attributes:
is_fitted
Whether
fit
has been called.
Examples
>>> import numpy as np >>> from aeon.transformations.collection.slope import SlopeTransformer >>> X = np.array([[[4, 6, 10, 12, 8, 6, 5, 5]]]) >>> s = SlopeTransformer(n_intervals=2) >>> res = s.fit_transform(X)
Methods
Check if the estimator has been fitted.
clone
()Obtain a clone of the object with same hyper-parameters.
clone_tags
(estimator[, tag_names])Clone/mirror tags from another estimator as dynamic override.
create_test_instance
([parameter_set, ...])Construct Estimator instance if possible.
create_test_instances_and_names
([parameter_set])Create list of all test instances and a list of names for them.
fit
(X[, y])Fit transformer to X, optionally using y if supervised.
fit_transform
(X[, y])Fit to data, then transform it.
get_class_tag
(tag_name[, tag_value_default, ...])Get tag value from estimator class (only class tags).
Get class tags from estimator class and all its parent classes.
get_fitted_params
([deep])Get fitted parameters.
Get metadata routing of this object.
Get parameter defaults for the object.
Get parameter names for the object.
get_params
([deep])Get parameters for this estimator.
get_tag
(tag_name[, tag_value_default, ...])Get tag value from estimator class.
get_tags
()Get tags from estimator class.
get_test_params
([parameter_set])Return testing parameter settings for the estimator.
inverse_transform
(X[, y])Inverse transform X and return an inverse transformed version.
Check if the object is composite.
load_from_path
(serial)Load object from file location.
load_from_serial
(serial)Load object from serialized memory container.
reset
()Reset the object to a clean post-init state.
save
([path])Save serialized self to bytes-like object or to (.zip) file.
set_params
(**params)Set the parameters of this object.
set_tags
(**tag_dict)Set dynamic tags to given values.
transform
(X[, y])Transform X and return a transformed version.
update
(X[, y, update_params])Update transformer with X, optionally y.
- check_is_fitted()[source]¶
Check if the estimator has been fitted.
- Raises:
- NotFittedError
If the estimator has not been fitted yet.
- clone()[source]¶
Obtain a clone of the object with same hyper-parameters.
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))
.- Returns:
- instance of
type(self)
, clone of self (see above)
- instance of
- clone_tags(estimator, tag_names=None)[source]¶
Clone/mirror tags from another estimator as dynamic override.
- Parameters:
- estimatorobject
Estimator inheriting from :class:BaseEstimator.
- tag_namesstr or list of str, default = None
Names of tags to clone. If None then all tags in estimator are used as tag_names.
- Returns:
- Self
Reference to self.
Notes
Changes object state by setting tag values in tag_set from estimator as dynamic tags in self.
- classmethod create_test_instance(parameter_set='default', return_first=True)[source]¶
Construct Estimator instance if possible.
Calls the get_test_params method and returns an instance or list of instances using the returned dict or list of dict.
- 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.
- return_firstbool, default=True
If True, return the first instance of the list of instances. If False, return the list of instances.
- Returns:
- instanceBaseEstimator or list of BaseEstimator
Instance of the class with default parameters. If return_first is False, returns list of instances.
- 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 convention is {cls.__name__}-{i} if more than one instance otherwise {cls.__name__}.
- 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.
- fit(X, y=None)[source]¶
Fit transformer to X, optionally using y if supervised.
- State change:
Changes state to “fitted”.
Writes to self: _is_fitted : flag is set to True. model attributes (ending in “_”) : dependent on estimator
- Parameters:
- Xnp.ndarray or list
Input data, any number of channels, equal length series of shape
( n_cases, n_channels, 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)
, wheren_timepoints_i
is length of seriesi
. 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. If
self.get_tag( "capability:unequal_length")
is False, they cannot handle unequal length input. In both situations, aValueError
is raised if X has a characteristic that the estimator does not have the capability to handle.Data to fit transform to, of valid collection type.
- ynp.ndarray, default=None
1D np.array of float or str, of shape
(n_cases)
- class labels (ground truth) for fitting indices corresponding to instance indices in X. If None, no labels are used in fitting.
- Returns:
- selfa fitted instance of the estimator
- fit_transform(X, y=None)[source]¶
Fit to data, then transform it.
Fits the transformer to X and y and returns a transformed version of X.
- State change:
Changes state to “fitted”.
Writes to self: _is_fitted : flag is set to True. _X : X, coerced copy of X, if remember_data tag is True
possibly coerced to inner type or update_data compatible type by reference, when possible
model attributes (ending in “_”) : dependent on estimator.
- Parameters:
- Xnp.ndarray or list
Input data, any number of channels, equal length series of shape
( n_cases, n_channels, 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)
, wheren_timepoints_i
is length of seriesi
. 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. If
self.get_tag( "capability:unequal_length")
is False, they cannot handle unequal length input. In both situations, aValueError
is raised if X has a characteristic that the estimator does not have the capability to handle.Data to fit transform to, of valid collection type.
- ynp.ndarray, default=None
1D np.array of float or str, of shape
(n_cases)
- class labels (ground truth) for fitting indices corresponding to instance indices in X. If None, no labels are used in fitting.
- Returns:
- transformed version of X
- classmethod get_class_tag(tag_name, tag_value_default=None, raise_error=False)[source]¶
Get tag value from estimator class (only class tags).
- Parameters:
- tag_namestr
Name of tag value.
- tag_value_defaultany type
Default/fallback value if tag is not found.
- raise_errorbool
Whether a ValueError is raised when the tag is not found.
- 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 i.e. if tag_name is not in self.get_tags(
- ).keys()
See also
get_tag
Get a single tag from an object.
get_tags
Get all tags from an object.
get_class_tag
Get a single tag from a class.
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 : tag value pairs. Collected from _tags class attribute via nested inheritance. NOT overridden by dynamic tags set by set_tags or mirror_tags.
- 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 object
if deep=True, also contains keys/value pairs of component parameters parameters of components are indexed as [componentname]__[paramname] all parameters of componentname appear as paramname with its value
if deep=True, also contains arbitrary levels of component recursion, e.g., [componentname]__[componentcomponentname]__[paramname], etc
- get_metadata_routing()[source]¶
Get metadata routing of this object.
Please check User Guide on how the routing mechanism works.
- Returns:
- routingMetadataRequest
A
MetadataRequest
encapsulating routing information.
- classmethod get_param_defaults()[source]¶
Get parameter defaults for the object.
- Returns:
- default_dict: dict with str keys
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()[source]¶
Get parameter names for the object.
- Returns:
- param_names: list of str, alphabetically sorted list of parameter names of cls
- get_params(deep=True)[source]¶
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.
- get_tag(tag_name, tag_value_default=None, raise_error=True)[source]¶
Get tag value from estimator class.
Uses dynamic tag overrides.
- Parameters:
- tag_namestr
Name of tag to be retrieved.
- tag_value_defaultany type, 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_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 i.e. if tag_name is not in self.get_tags(
- ).keys()
See also
get_tags
Get all tags from an object.
get_clas_tags
Get all tags from a class.
get_class_tag
Get a single tag from a class.
Examples
>>> from aeon.classification import DummyClassifier >>> d = DummyClassifier() >>> d.get_tag("capability:multivariate") True
- get_tags()[source]¶
Get tags from estimator class.
Includes the dynamic tag overrides.
- Returns:
- dict
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.
See also
get_tag
Get a single tag from an object.
get_class_tags
Get all tags from a class.
get_class_tag
Get a single tag from a class.
Examples
>>> from aeon.classification import DummyClassifier >>> d = DummyClassifier() >>> tags = d.get_tags()
- 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.
- 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) or MyClass(**params[i]) creates a valid test instance. create_test_instance uses the first (or only) dictionary in params.
- inverse_transform(X, y=None)[source]¶
Inverse transform X and return an inverse transformed version.
- Currently it is assumed that only transformers with tags
“input_data_type”=”Series”, “output_data_type”=”Series”,
can have an inverse_transform.
- State required:
Requires state to be “fitted”.
- Accesses in self:
_is_fitted : must be True _X : optionally accessed, only available if remember_data tag is True fitted model attributes (ending in “_”) : accessed by _inverse_transform
- Parameters:
- Xnp.ndarray or list
Input data, any number of channels, equal length series of shape
( n_cases, n_channels, 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)
, wheren_timepoints_i
is length of seriesi
. 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. If
self.get_tag( "capability:unequal_length")
is False, they cannot handle unequal length input. In both situations, aValueError
is raised if X has a characteristic that the estimator does not have the capability to handle.Data to fit transform to, of valid collection type.
- ynp.ndarray, default=None
1D np.array of float or str, of shape
(n_cases)
- class labels (ground truth) for fitting indices corresponding to instance indices in X. If None, no labels are used in fitting.
- Returns:
- inverse transformed version of X
of the same type as X
- is_composite()[source]¶
Check if the object is composite.
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 self contains a parameter which is BaseObject.
- classmethod load_from_path(serial)[source]¶
Load object from file location.
- Parameters:
- serialobject
Result of ZipFile(path).open(“object).
- Returns:
- deserialized self resulting in output at path, of cls.save(path)
- classmethod load_from_serial(serial)[source]¶
Load object from serialized memory container.
- Parameters:
- serialobject
First element of output of cls.save(None).
- Returns:
- deserialized self resulting in output serial, of cls.save(None).
- reset()[source]¶
Reset the object to a clean post-init state.
Equivalent to sklearn.clone but overwrites self. After
self.reset()
call, self is equal in value totype(self)(**self.get_params(deep=False))
Detail 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 hyper-parameters (result of get_params)Not affected by the reset are: object attributes containing double-underscores class and object methods, class attributes
- save(path=None)[source]¶
Save serialized self to bytes-like object or to (.zip) file.
Behaviour: if path is None, returns an in-memory serialized self if path is a file location, stores self at that location as a zip file
saved 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 file estimator.zip will be stored in /home/stored/.
- Returns:
- if path is None - in-memory serialized self
- if path is file location - ZipFile with reference to the file.
- set_params(**params)[source]¶
Set the parameters of this object.
The method works on simple estimators as well as on nested objects. The latter have parameters of the form
<component>__<parameter>
so that it’s possible to update each component of a nested object.- Parameters:
- **paramsdict
BaseObject parameters
- Returns:
- selfreference to self (after parameters have been set)
- set_tags(**tag_dict)[source]¶
Set dynamic tags to given values.
- Parameters:
- **tag_dictdict
Dictionary of tag name : tag value pairs.
- Returns:
- Self
Reference to self.
Notes
Changes object state by setting tag values in tag_dict as dynamic tags in self.
- transform(X, y=None)[source]¶
Transform X and return a transformed version.
- State required:
Requires state to be “fitted”.
Accesses in self: _is_fitted : must be True _X : optionally accessed, only available if remember_data tag is True fitted model attributes (ending in “_”) : must be set, accessed by _transform
- Parameters:
- Xnp.ndarray or list
Input data, any number of channels, equal length series of shape
( n_cases, n_channels, 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)
, wheren_timepoints_i
is length of seriesi
. 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. If
self.get_tag( "capability:unequal_length")
is False, they cannot handle unequal length input. In both situations, aValueError
is raised if X has a characteristic that the estimator does not have the capability to handle.Data to fit transform to, of valid collection type.
- ynp.ndarray, default=None
1D np.array of float or str, of shape
(n_cases)
- class labels (ground truth) for fitting indices corresponding to instance indices in X. If None, no labels are used in fitting.
- Returns:
- transformed version of X
- update(X, y=None, update_params=True)[source]¶
Update transformer with X, optionally y.
- State required:
Requires state to be “fitted”.
Accesses in self: _is_fitted : must be True _X : accessed by _update and by update_data, if remember_data tag is True fitted model attributes (ending in “_”) : must be set, accessed by _update
Writes to self: _X : updated by values in X, via update_data, if remember_data tag is True fitted model attributes (ending in “_”) : only if update_params=True
type and nature of update are dependent on estimator
- Parameters:
- XSeries or Panel, any supported type
- Data to fit transform to, of python type as follows:
Series: pd.Series, pd.DataFrame, or np.ndarray (1D or 2D) Panel: pd.DataFrame with 2-level MultiIndex, list of pd.DataFrame,
nested pd.DataFrame, or pd.DataFrame in long/wide format
- ySeries or Panel, default=None
Additional data, e.g., labels for transformation
- update_paramsbool, default=True
whether the model is updated. Yes if true, if false, simply skips call. argument exists for compatibility with forecasting module.
- Returns:
- selfa fitted instance of the estimator