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-learn的
MLPClassifier中。它接受与
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_params([deep])获取此估计器的参数。
partial_fit(X, y[, classes])使用给定数据进行单次迭代更新模型。
predict(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_fit中classes参数的元数据路由。
- 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
更新后的对象。