Back to models
Regressor

MLPRegressor

Multi Layer Perceptron Network (MLP), as described in [1].

Quickstart

python
from sktime.regression.deep_learning.mlp import MLPRegressor

estimator = MLPRegressor(n_epochs=2000, batch_size=16, callbacks=None, verbose=False, loss='mean_squared_error', metrics=None, random_state=None, activation='linear', activation_hidden='relu', use_bias=True, optimizer=None, dropout=(0.1, 0.2, 0.2, 0.3), n_layers=3, hidden_dim=500)

Parameters(15)

should inherited fields be listed here?
n_epochsint, default = 2000
the number of epochs to train the model
batch_sizeint, default = 16
the number of samples per gradient update.
callbackslist of keras.callbacks.Callback, optional (default=None)
List of Keras callbacks to apply during model training.
random_stateint or None, default=None
Seed for random number generation.
verboseboolean, default = False
whether to output extra information
lossstring, default=”mean_squared_error”
fit parameter for the keras model
metricslist of strings, default=[“accuracy”],
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/

use_biasboolean, default = True
whether the layer uses a bias vector.
optimizerkeras.optimizers object, default = Adam(lr=0.01)
specify the optimizer and the learning rate to be used.
dropoutfloat or tuple, default=(0.1, 0.2, 0.2, 0.3)
The dropout rate for the hidden layers. If float, the same rate is used for all layers. If tuple, length must equal n_layers + 1, where the first n_layers elements correspond to dropout applied before each hidden Dense layer, and the last element corresponds to the dropout applied after the final hidden layer (before the output layer).
n_layersint, default=3
Number of hidden Dense layers in the MLP.
hidden_dimint or tuple, default=500
Number of units in each hidden Dense layer. If int, the same number of units is used for all hidden layers. If list or tuple, length must equal n_layers, with each element specifying the number of units for the corresponding hidden layer.

Examples

>>> from sktime.datasets import load_unit_test
>>> from sktime.regression.deep_learning.mlp import MLPRegressor
>>> 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 = MLPRegressor ()
>>> regressor. fit (X_train, y_train) MLPRegressor(
... )
>>> y_pred = regressor. predict (X_test)

References

  1. [1 ] Wang et al, Time series classification from scratch with deep neural networks: A strong baseline, International joint conference on neural networks (IJCNN), 2017.