tslearn.neural_network.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]

用于时间序列的多层感知器分类器。

这个类主要是为了重塑数据,以便可以将其输入到scikit-learnMLPClassifier中。

它接受与MLPClassifier完全相同的超参数,请查看 scikit-learn 文档 以获取参数和属性的列表。

注释

此方法需要一个等长时间序列的数据集。

示例

>>> 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,)]

方法

fit(X, y)

使用X作为训练数据,y作为目标值来拟合模型

get_metadata_routing()

获取此对象的元数据路由。

get_params([deep])

获取此估计器的参数。

partial_fit(X, y[, classes])

使用给定数据进行单次迭代更新模型。

predict(X)

预测提供数据的类别标签

predict_log_proba(X)

预测提供数据的类别对数概率

predict_proba(X)

预测提供数据的类别概率

score(X, y[, sample_weight])

返回给定测试数据和标签的平均准确率。

set_params(**params)

设置此估计器的参数。

set_partial_fit_request(*[, classes])

请求传递给partial_fit方法的元数据。

set_score_request(*[, sample_weight])

传递给score方法的请求元数据。

fit(X, y)[source]

使用X作为训练数据,y作为目标值来拟合模型

Parameters:
Xarray-like, shape (n_ts, sz, d)

训练数据。

yarray-like, shape (n_ts, ) or (n_ts, dim_y)

目标值。

Returns:
TimeSeriesMLPClassifier

拟合的估计器

get_metadata_routing()[source]

获取此对象的元数据路由。

请查看用户指南了解路由机制的工作原理。

Returns:
routingMetadataRequest

一个封装了路由信息的MetadataRequest

get_params(deep=True)[source]

获取此估计器的参数。

Parameters:
deepbool, default=True

如果为True,将返回此估计器及其包含的子对象(如果也是估计器)的参数。

Returns:
paramsdict

参数名称映射到它们的值。

partial_fit(X, y, classes=None)[source]

使用给定数据进行单次迭代更新模型。

Parameters:
X{array-like, sparse matrix} of shape (n_samples, n_features)

输入数据。

yarray-like of shape (n_samples,)

目标值。

classesarray of shape (n_classes,), default=None

在所有对partial_fit的调用中的类别。 可以通过np.unique(y_all)获得,其中y_all是整个数据集的目标向量。 在第一次调用partial_fit时需要此参数,在后续调用中可以省略。 请注意,y不需要包含classes中的所有标签。

Returns:
selfobject

训练好的MLP模型。

predict(X)[source]

预测提供数据的类别标签

Parameters:
Xarray-like, shape (n_ts, sz, d)

测试样本。

Returns:
array, shape = (n_ts, )

预测类别标签的数组

predict_log_proba(X)[source]

预测提供数据的类别对数概率

Parameters:
Xarray-like, shape (n_ts, sz, d)

测试样本。

Returns:
array, shape = (n_ts, n_classes)

预测类别对数概率的数组

predict_proba(X)[source]

预测提供数据的类别概率

Parameters:
Xarray-like, shape (n_ts, sz, d)

测试样本。

Returns:
array, shape = (n_ts, n_classes)

预测类别概率的数组

score(X, y, sample_weight=None)[source]

返回给定测试数据和标签的平均准确率。

在多标签分类中,这是子集准确率,这是一个严格的指标,因为您要求每个样本的每个标签集都被正确预测。

Parameters:
Xarray-like of shape (n_samples, n_features)

测试样本。

yarray-like of shape (n_samples,) or (n_samples, n_outputs)

X的真实标签。

sample_weightarray-like of shape (n_samples,), default=None

样本权重。

Returns:
scorefloat

self.predict(X) 相对于 y 的平均准确率。

set_params(**params)[source]

设置此估计器的参数。

该方法适用于简单的估计器以及嵌套对象(如Pipeline)。后者具有形式为<component>__<parameter>的参数,以便可以更新嵌套对象的每个组件。

Parameters:
**paramsdict

估计器参数。

Returns:
selfestimator instance

估计器实例。

set_partial_fit_request(*, classes: bool | None | str = '$UNCHANGED$') TimeSeriesMLPClassifier[source]

传递给partial_fit方法的请求元数据。

请注意,此方法仅在 enable_metadata_routing=True 时相关(参见 sklearn.set_config())。 请参阅 用户指南 了解路由机制的工作原理。

每个参数的选项是:

  • True: 请求元数据,并在提供时传递给 partial_fit。如果未提供元数据,则忽略该请求。

  • False: 不请求元数据,元估计器不会将其传递给 partial_fit

  • None: 不请求元数据,如果用户提供了元数据,元估计器将引发错误。

  • str: 元数据应该使用这个给定的别名传递给元估计器,而不是原始名称。

默认值(sklearn.utils.metadata_routing.UNCHANGED)保留现有的请求。这允许您更改某些参数的请求,而不更改其他参数。

版本1.3中的新功能。

注意

此方法仅在此估计器用作元估计器的子估计器时相关,例如在Pipeline内部使用。否则它没有效果。

Parameters:
classesstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

partial_fitclasses 参数的元数据路由。

Returns:
selfobject

更新后的对象。

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') TimeSeriesMLPClassifier[source]

传递给score方法的请求元数据。

请注意,此方法仅在 enable_metadata_routing=True 时相关(参见 sklearn.set_config())。 请参阅 用户指南 了解路由机制的工作原理。

每个参数的选项是:

  • True: 请求元数据,并在提供时传递给 score。如果未提供元数据,则忽略该请求。

  • False: 不请求元数据,元估计器不会将其传递给 score

  • None: 不请求元数据,如果用户提供了元数据,元估计器将引发错误。

  • str: 元数据应该使用这个给定的别名传递给元估计器,而不是原始名称。

默认值(sklearn.utils.metadata_routing.UNCHANGED)保留现有的请求。这允许您更改某些参数的请求,而不更改其他参数。

版本1.3中的新功能。

注意

此方法仅在此估计器用作元估计器的子估计器时相关,例如在Pipeline内部使用。否则它没有效果。

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

元数据路由用于score中的sample_weight参数。

Returns:
selfobject

更新后的对象。