Classifier
LSTMFCNClassifier
Implementation of LSTMFCNClassifier from Karim et al (2019) [1].
Quickstart
python
from sktime.classification.deep_learning.lstmfcn import LSTMFCNClassifier
estimator = LSTMFCNClassifier(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='softmax', activation_hidden='relu')Parameters(12)
- activationstring or a tf callable, default=”softmax”
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/
- 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.
Examples
>>> import sktime.classification.deep_learning as dl_clf
>>> from dl_clf.lstmfcn import LSTMFCNClassifier
>>> from sktime.datasets import load_unit_test
>>> X_train, y_train = load_unit_test (split = "train", return_X_y = True)
>>> X_test, y_test = load_unit_test (split = "test", return_X_y = True)
>>> lstmfcn = FCNClassifier (n_epochs = 20, batch_size = 4)
>>> lstmfcn. fit (X_train, y_train) FCNClassifier(
... )References
- [1 ] Karim et al. Multivariate LSTM-FCNs for Time Series Classification, 2019 https://arxiv.org/pdf/1801.04503.pdf