MarkovTransitionField#
- class pyts.image.MarkovTransitionField(image_size: int | float = 1.0, n_bins: int = 8, strategy: str = 'quantile', overlapping: bool = False, flatten: bool = False)[source]#
Markov Transition Field.
- Parameters:
- image_sizeint or float (default = 1.)
Shape of the output images. If float, it represents a percentage of the size of each time series and must be between 0 and 1. Output images are square, thus providing the size of one dimension is enough.
- n_binsint (default = 5)
Number of bins (also known as the size of the alphabet)
- strategy‘uniform’, ‘quantile’ or ‘normal’ (default = ‘quantile’)
Strategy used to define the widths of the bins:
‘uniform’: All bins in each sample have identical widths
‘quantile’: All bins in each sample have the same number of points
‘normal’: Bin edges are quantiles from a standard normal distribution
- overlappingbool (default = False)
If False, reducing the image with the blurring kernel will be applied on non-overlapping rectangles. If True, it will be applied on possibly overlapping squares.
- flattenbool (default = False)
If True, images are flattened to be one-dimensional.
References
[1]Z. Wang and T. Oates, “Encoding Time Series as Images for Visual Inspection and Classification Using Tiled Convolutional Neural Networks.” AAAI Workshop (2015).
Examples
>>> from pyts.datasets import load_gunpoint >>> from pyts.image import MarkovTransitionField >>> X, _, _, _ = load_gunpoint(return_X_y=True) >>> transformer = MarkovTransitionField() >>> X_new = transformer.transform(X) >>> X_new.shape (50, 150, 150)
Methods
__init__([image_size, n_bins, strategy, ...])fit([X, y])Pass.
fit_transform(X[, y])Fit to data, then transform it.
get_metadata_routing()Get metadata routing of this object.
get_params([deep])Get parameters for this estimator.
set_params(**params)Set the parameters of this estimator.
transform(X)Transform each time series into a MTF image.
- __init__(image_size: int | float = 1.0, n_bins: int = 8, strategy: str = 'quantile', overlapping: bool = False, flatten: bool = False) None[source]#
- fit(X: ArrayLike | None = None, y: ArrayLike | None = None) Self[source]#
Pass.
- Parameters:
- X
Ignored
- y
Ignored
- Returns:
- selfobject
- transform(X: ArrayLike) NDArray[float64][source]#
Transform each time series into a MTF image.
- Parameters:
- Xarray-like, shape = (n_samples, n_timestamps)
Input data
- Returns:
- X_newarray-like, shape = (n_samples, image_size, image_size)
Transformed data. If
flatten=True, the shape is (n_samples, image_size * image_size).