SavitzkyGolayFilter¶
- class SavitzkyGolayFilter(window_length=5, polyorder=2)[source]¶
Bases:
BaseSeriesTransformerFilter a times series using Savitzky-Golay (SG).
Wrapper for the SciPy
savgol_filterfunction.- Parameters:
- window_lengthint, default=5
The length of the filter window (i.e., the number of coefficients). window_length must be less than or equal to the size of the input.
- polyorderint, default=2
The order of the polynomial used to fit the samples. polyorder must be less than window_length.
Notes
Capabilities ¶ Missing Values
No
Multithreading
No
Inverse Transform
No
Univariate
Yes
Multivariate
Yes
References
[1]Savitzky, A., & Golay, M. J. (1964). Smoothing and differentiation of data by simplified least squares procedures. Analytical chemistry, 36(8), 1627-1639.
Examples
>>> import numpy as np >>> from aeon.transformations.series.smoothing import SavitzkyGolayFilter >>> X = np.random.random((2, 100)) # Random series length 100 >>> sg = SavitzkyGolayFilter() >>> X_ = sg.fit_transform(X) >>> X_.shape (2, 100)
Methods
clone([random_state])Obtain a clone of the object with the same hyperparameters.
fit(X[, y, axis])Fit transformer to X, optionally using y if supervised.
fit_transform(X[, y, axis])Fit to data, then transform it.
get_class_tag(tag_name[, raise_error, ...])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_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.
reset([keep])Reset the object to a clean post-init state.
set_params(**params)Set the parameters of this estimator.
set_tags(**tag_dict)Set dynamic tags to given values.
transform(X[, y, axis])Transform X and return a transformed version.
- 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.cloneofself. Equal in value totype(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. Ifint,random_stateis the seed used by the random number generator. IfRandomStateinstance,random_stateis the random number generator.
- Returns:
- estimatorobject
Instance of
type(self), clone of self (see above)
- fit(X, y=None, axis=1)[source]¶
Fit transformer to X, optionally using y if supervised.
Writes to self: - is_fitted : flag is set to True. - model attributes (ending in “_”) : dependent on estimator
- Parameters:
- XInput data
Time series to fit transform to, of type
np.ndarray,pd.Seriespd.DataFrame.- yTarget variable, default=None
Additional data, e.g., labels for transformation
- axisint, default = 1
Axis of time in the input series. If
axis == 0, it is assumed each column is a time series and each row is a time point. i.e. the shape of the data is(n_timepoints, n_channels).axis == 1indicates the time series are in rows, i.e. the shape of the data is(n_channels, n_timepoints)`.``axis is Noneindicates that the axis of X is the same asself.axis.
- Returns:
- selfa fitted instance of the estimator
- fit_transform(X, y=None, axis=1)[source]¶
Fit to data, then transform it.
Fits the transformer to X and y and returns a transformed version of X.
Changes state to “fitted”. Model attributes (ending in “_”) : dependent on estimator.
- Parameters:
- XInput data
Data to fit transform to, of valid collection type.
- yTarget variable, default=None
Additional data, e.g., labels for transformation
- axisint, default = 1
Axis of time in the input series. If
axis == 0, it is assumed each column is a time series and each row is a time point. i.e. the shape of the data is(n_timepoints, n_channels).axis == 1indicates the time series are in rows, i.e. the shape of the data is(n_channels, n_timepoints)`.``axis is Noneindicates that the axis of X is the same asself.axis.
- Returns:
- transformed version of X with the same axis as passed by the user, if axis
- not None.
- 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
ValueErroris 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_nametag in cls. If not found, returns an error ifraise_errorisTrue, otherwise it returnstag_value_default.
- Raises:
- ValueError
if
raise_errorisTrueandtag_nameis not inself.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
_tagsclass attribute via nested inheritance. These are not overridden by dynamic tags set byset_tagsor 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_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.
- 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
ValueErroris 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_nametag in self. If not found, returns an error ifraise_errorisTrue, otherwise it returnstag_value_default.
- Raises:
- ValueError
if raise_error is
Trueandtag_nameis not inself.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
_tagsclass attribute via nested inheritance and then any overridden and new tags from__init__orset_tags.
- reset(keep=None)[source]¶
Reset the object to a clean post-init state.
After a
self.reset()call,selfis equal or similar in value totype(self)(**self.get_params(deep=False)), assuming no other attributes were kept usingkeep.- 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 ofget_params)- Not affected by the reset are:
object attributes containing double-underscores class and object methods, class attributes any attributes specified in the
keepargument
- Parameters:
- keepNone, str, or list of str, default=None
If
None, all attributes are removed except hyperparameters. Ifstr, only the attribute with this name is kept. Iflistofstr, only the attributes with these names are kept.
- Returns:
- selfobject
Reference to self.
- Raises:
- TypeError
If ‘keep’ is not a string or a list of strings.
- 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.
- 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.
- transform(X, y=None, axis=1)[source]¶
Transform X and return a transformed version.
- State required:
Requires state to be “fitted”.
- Parameters:
- XInput data
Data to fit transform to, of valid collection type.
- yTarget variable, default=None
Additional data, e.g., labels for transformation
- axisint, default = 1
Axis of time in the input series. If
axis == 0, it is assumed each column is a time series and each row is a time point. i.e. the shape of the data is(n_timepoints, n_channels).axis == 1indicates the time series are in rows, i.e. the shape of the data is(n_channels, n_timepoints)`.``axis is Noneindicates that the axis of X is the same asself.axis.
- Returns:
- transformed version of X with the same axis as passed by the user, if axis
- not None.