TimeSeriesMLPClassifier#
- class tslearn.neural_network.TimeSeriesMLPClassifier(hidden_layer_sizes=(100,), activation='relu', *, solver='adam', alpha=0.0001, batch_size='auto', learning_rate='constant', learning_rate_init=0.001, power_t=0.5, max_iter=200, shuffle=True, random_state=None, tol=0.0001, verbose=False, warm_start=False, momentum=0.9, nesterovs_momentum=True, early_stopping=False, validation_fraction=0.1, beta_1=0.9, beta_2=0.999, epsilon=1e-08, n_iter_no_change=10, max_fun=15000)[source]#
A Multi-Layer Perceptron classifier for time series.
This class mainly reshapes data so that it can be fed to scikit-learn’s
MLPClassifier.It accepts the exact same hyper-parameters as
MLPClassifier, check scikit-learn docs for a list of parameters and attributes.Notes
This method requires a dataset of equal-sized time series.
Examples
>>> from tslearn.generators import random_walk_blobs >>> X, y = random_walk_blobs(n_ts_per_blob=30, sz=16, d=2, n_blobs=3, ... random_state=0) >>> mlp = TimeSeriesMLPClassifier(hidden_layer_sizes=(64, 64), ... random_state=0) >>> mlp.fit(X, y) TimeSeriesMLPClassifier(...) >>> [c.shape for c in mlp.coefs_] [(32, 64), (64, 64), (64, 3)] >>> [c.shape for c in mlp.intercepts_] [(64,), (64,), (3,)]
Methods
fit(X, y)Fit the model using X as training data and y as target values
Get metadata routing of this object.
get_params([deep])Get parameters for this estimator.
partial_fit(X, y, *args, **kwargs)Update the model with a single iteration over the given data.
predict(X)Predict the class labels for the provided data
Return the log of probability estimates.
Predict the class probabilities for the provided data
score(X, y[, sample_weight])Return accuracy on provided data and labels.
set_fit_request(*[, sample_weight])Configure whether metadata should be requested to be passed to the
fitmethod.set_params(**params)Set the parameters of this estimator.
set_partial_fit_request(*[, classes, ...])Configure whether metadata should be requested to be passed to the
partial_fitmethod.set_score_request(*[, sample_weight])Configure whether metadata should be requested to be passed to the
scoremethod.- fit(X, y)[source]#
Fit the model using X as training data and y as target values
- Parameters:
- Xarray-like, shape (n_ts, sz, d)
Training data.
- yarray-like, shape (n_ts, ) or (n_ts, dim_y)
Target values.
- Returns:
- TimeSeriesMLPClassifier
The fitted estimator
- get_metadata_routing()#
Get metadata routing of this object.
Please check User Guide on how the routing mechanism works.
- Returns:
- routingMetadataRequest
A
MetadataRequestencapsulating routing information.
- get_params(deep=True)#
Get parameters for this estimator.
- Parameters:
- deepbool, default=True
If True, will return the parameters for this estimator and contained subobjects that are estimators.
- Returns:
- paramsdict
Parameter names mapped to their values.
- partial_fit(X, y, *args, **kwargs)[source]#
Update the model with a single iteration over the given data.
- Parameters:
- Xarray-like, shape (n_ts, sz, d)
The input data.
- yarray-like, shape (n_ts, ) or (n_ts, dim_y)
- Target values.
- *args, **kwargsarguments for the underlying
- MLPClassifier’s method from scikit-learn
- Returns:
- TimeSeriesMLPClassifier
The fitted estimator
- predict(X)[source]#
Predict the class labels for the provided data
- Parameters:
- Xarray-like, shape (n_ts, sz, d)
Test samples.
- Returns:
- array, shape = (n_ts, )
Array of predicted class labels
- predict_log_proba(X)#
Return the log of probability estimates.
- Parameters:
- Xndarray of shape (n_samples, n_features)
The input data.
- Returns:
- log_y_probndarray of shape (n_samples, n_classes)
The predicted log-probability of the sample for each class in the model, where classes are ordered as they are in self.classes_. Equivalent to log(predict_proba(X)).
- predict_proba(X)[source]#
Predict the class probabilities for the provided data
- Parameters:
- Xarray-like, shape (n_ts, sz, d)
Test samples.
- Returns:
- array, shape = (n_ts, n_classes)
Array of predicted class probabilities
- score(X, y, sample_weight=None)#
Return accuracy on provided data and labels.
In multi-label classification, this is the subset accuracy which is a harsh metric since you require for each sample that each label set be correctly predicted.
- Parameters:
- Xarray-like of shape (n_samples, n_features)
Test samples.
- yarray-like of shape (n_samples,) or (n_samples, n_outputs)
True labels for X.
- sample_weightarray-like of shape (n_samples,), default=None
Sample weights.
- Returns:
- scorefloat
Mean accuracy of
self.predict(X)w.r.t. y.
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') TimeSeriesMLPClassifier#
Configure whether metadata should be requested to be passed to the
fitmethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed tofitif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it tofit.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
- Parameters:
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
Metadata routing for
sample_weightparameter infit.
- Returns:
- selfobject
The updated object.
- set_params(**params)#
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as
Pipeline). The latter have parameters of the form<component>__<parameter>so that it’s possible to update each component of a nested object.- Parameters:
- **paramsdict
Estimator parameters.
- Returns:
- selfestimator instance
Estimator instance.
- set_partial_fit_request(*, classes: bool | None | str = '$UNCHANGED$', sample_weight: bool | None | str = '$UNCHANGED$') TimeSeriesMLPClassifier#
Configure whether metadata should be requested to be passed to the
partial_fitmethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed topartial_fitif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it topartial_fit.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
- Parameters:
- classesstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
Metadata routing for
classesparameter inpartial_fit.- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
Metadata routing for
sample_weightparameter inpartial_fit.
- Returns:
- selfobject
The updated object.
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') TimeSeriesMLPClassifier#
Configure whether metadata should be requested to be passed to the
scoremethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed toscoreif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it toscore.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
- Parameters:
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
Metadata routing for
sample_weightparameter inscore.
- Returns:
- selfobject
The updated object.