MACNNClassifier
MACNNClassifier
- class MACNNClassifier(n_epochs=1500, batch_size=4, padding='same', pool_size=3, strides=2, repeats=2, filter_sizes=(64, 128, 256), kernel_size=(3, 6, 12), reduction=16, loss='categorical_crossentropy', activation='sigmoid', activation_hidden='relu', use_bias=True, metrics=None, optimizer=None, callbacks=None, random_state=0, verbose=False)[source]
Multi-Scale Attention Convolutional Neural Classifier, as described in [1].
- Parameters:
- n_epochsint, optional (default=1500)
The number of epochs to train the model.
- batch_sizeint, optional (default=4)
The number of sample per gradient update.
- paddingstr, optional (default=”same”)
The type of padding to be provided in MACNN Blocks. Accepts all the string values that keras.layers supports. Note: For Conv1D layers within MACNN Blocks, padding is always set to “same” to ensure consistent output lengths for multi-scale convolutions. This parameter only affects the pooling layers between MACNN Blocks.
- pool_sizeint, optional (default=3)
A single value representing pooling windows which are applied between two MACNN Blocks.
- stridesint, optional (default=2)
A single value representing strides to be taken during the pooling operation.
- repeatsint, optional (default=2)
The number of MACNN Blocks to be stacked.
- filter_sizestuple, optional (default=(64, 128, 256))
The input size of Conv1D layers within each MACNN Block.
- kernel_sizetuple, optional (default=(3, 6, 12))
The output size of Conv1D layers within each MACNN Block.
- reductionint, optional (default = 16)
The factor by which the first dense layer of a MACNN Block will be divided by.
- lossstr, optional (default=”categorical_crossentropy”)
The name of the loss function to be used during training, should be supported by keras.
- activationstr, optional (default=”sigmoid”)
The activation function to apply at the output. 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_biasbool, optional (default=True)
Whether bias should be included in the output layer.
- metricsNone or string, optional (default=None)
The string which will be used during model compilation. If left as None, then “accuracy” is passed to
model.compile().- optimizer: None or keras.optimizers.Optimizer instance, optional (default=None)
The optimizer that is used for model compiltation. If left as None, then
keras.optimizers.Adam(learning_rate=0.0001)is used.- callbacksNone or list of keras.callbacks.Callback, optional (default=None)
The callback(s) to use during training.
- random_stateint, optional (default=0)
The seed to any random action.
- verbosebool, optional (default=False)
Verbosity during model training, making it
Truewill print model summary, training information etc.
- Attributes:
is_fittedWhether
fithas been called.
References
[1]Wei Chen et. al, Multi-scale Attention Convolutional
Neural Network for time series classification, Neural Networks, Volume 136, 2021, Pages 126-140, ISSN 0893-6080, https://doi.org/10.1016/j.neunet.2021.01.001.
Examples
>>> from sktime.classification.deep_learning.macnn import MACNNClassifier >>> from sktime.datasets import load_unit_test >>> X_train, y_train = load_unit_test(split="train") >>> X_test, y_test = load_unit_test(split="test") >>> macnn = MACNNClassifier(n_epochs=3) >>> macnn.fit(X_train, y_train) MACNNClassifier(...)
Methods
build_model(input_shape, n_classes, **kwargs)Construct a compiled, un-trained, keras model that is ready for training.
check_is_fitted([method_name])Check if the estimator has been fitted.
clone()Obtain a clone of the object with same hyper-parameters and config.
clone_tags(estimator[, tag_names])Clone tags from another object as dynamic override.
create_test_instance([parameter_set])Construct an instance of the class, using first test parameter set.
create_test_instances_and_names([parameter_set])Create list of all test instances and a list of names for them.
fit(X, y)Fit time series classifier to training data.
fit_predict(X, y[, cv, change_state])Fit and predict labels for sequences in X.
fit_predict_proba(X, y[, cv, change_state])Fit and predict labels probabilities for sequences in X.
get_class_tag(tag_name[, tag_value_default])Get class tag value from class, with tag level inheritance from parents.
get_class_tags()Get class tags from class, with tag level inheritance from parent classes.
get_config()Get config flags for self.
get_fitted_params([deep])Get fitted parameters.
get_param_defaults()Get object's parameter defaults.
get_param_names([sort])Get object's parameter names.
get_params([deep])Get a dict of parameters values for this object.
get_tag(tag_name[, tag_value_default, ...])Get tag value from instance, with tag level inheritance and overrides.
get_tags()Get tags from instance, with tag level inheritance and overrides.
get_test_params([parameter_set])Return testing parameter settings for the estimator.
is_composite()Check if the object is composed of other BaseObjects.
load_from_path(serial)Load object from file location.
load_from_serial(serial)Load object from serialized memory container.
predict(X)Predicts labels for sequences in X.
predict_proba(X)Predicts labels probabilities for sequences in X.
reset()Reset the object to a clean post-init state.
save([path, serialization_format])Save serialized self to bytes-like object or to (.zip) file.
score(X, y)Scores predicted labels against ground truth labels on X.
set_config(**config_dict)Set config flags to given values.
set_params(**params)Set the parameters of this object.
set_random_state([random_state, deep, ...])Set random_state pseudo-random seed parameters for self.
set_tags(**tag_dict)Set instance level tag overrides to given values.
summary()Summary function to return the losses/metrics for model fit.

