Back to models
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. [1 ] Karim et al. Multivariate LSTM-FCNs for Time Series Classification, 2019 https://arxiv.org/pdf/1801.04503.pdf