Regressor
LSTMFCNRegressor
Implementation of LSTMFCNRegressor from Karim et al (2019) [1].
Quickstart
python
from sktime.regression.deep_learning.lstmfcn import LSTMFCNRegressor
estimator = LSTMFCNRegressor(n_epochs=2000, batch_size=128, dropout=0.8, kernel_sizes=(8, 5, 3), filter_sizes=(128, 256, 128), lstm_size=8, attention=False, callbacks=None, random_state=None, verbose=0, activation='linear', activation_hidden='relu')Parameters(12)
- n_epochsint, default=2000
- the number of epochs to train the model
- batch_sizeint, default=128
- the number of samples per gradient update.
- dropoutfloat, default=0.8
- controls dropout rate of LSTM layer
- kernel_sizeslist of ints, default=[8, 5, 3]
- specifying the length of the 1D convolution windows
- filter_sizesint, list of ints, default=[128, 256, 128]
- size of filter for each conv layer
- lstm_sizeint, default=8
- output dimension for LSTM layer
- attentionboolean, default=False
- If True, uses custom attention LSTM layer
- callbackskeras callbacks, default=ReduceLRonPlateau
- Keras callbacks to use such as learning rate reduction or saving best model based on validation error
- verbose‘auto’, 0, 1, or 2. Verbosity mode.
- 0 = silent, 1 = progress bar, 2 = one line per epoch. ‘auto’ defaults to 1 for most cases, but 2 when used with ParameterServerStrategy. Note that the progress bar is not particularly useful when logged to a file, so verbose=2 is recommended when not running interactively (eg, in a production environment).
- random_stateint or None, default=None
- Seed for random, integer.
- activationstring or a tf callable, default=”linear”
Activation function used in the output layer. List of available activation functions: https://keras.io/api/layers/activations/
- activation_hiddenstring or a tf callable, default=”relu”
Activation function used in the hidden layers. List of available activation functions: https://keras.io/api/layers/activations/
Examples
>>> from sktime.datasets import load_unit_test
>>> from sktime.regression.deep_learning.lstmfcn import LSTMFCNRegressor
>>> X_train, y_train = load_unit_test (return_X_y = True, split = "train")
>>> X_test, y_test = load_unit_test (return_X_y = True, split = "test")
>>> regressor = LSTMFCNRegressor ()
>>> regressor. fit (X_train, y_train) LSTMFCNRegressor(
... )
>>> y_pred = regressor. predict (X_test)References
- [1 ] Karim et al. Multivariate LSTM-FCNs for Time Series Classification, 2019 https://arxiv.org/pdf/1801.04503.pdf