tslearn.neural_network.TimeSeriesMLPRegressor

class tslearn.neural_network.TimeSeriesMLPRegressor(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-learnMLPRegressor中。

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

注释

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

示例

>>> mlp = TimeSeriesMLPRegressor(hidden_layer_sizes=(64, 64),
...                               random_state=0)
>>> mlp.fit(X=[[1, 2, 3], [1, 1.2, 3.2], [3, 2, 1]],
...         y=[0, 0, 1])  
TimeSeriesMLPRegressor(...)
>>> [c.shape for c in mlp.coefs_]
[(3, 64), (64, 64), (64, 1)]
>>> [c.shape for c in mlp.intercepts_]
[(64,), (64,), (1,)]

方法

fit(X, y)

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

get_metadata_routing()

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

get_params([deep])

获取此估计器的参数。

partial_fit(X, y)

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

predict(X)

预测提供数据的目标

score(X, y[, sample_weight])

返回预测的决定系数。

set_params(**params)

设置此估计器的参数。

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:
TimeSeriesMLPRegressor

拟合的估计器

get_metadata_routing()[source]

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

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

Returns:
routingMetadataRequest

一个封装了路由信息的MetadataRequest

get_params(deep=True)[source]

获取此估计器的参数。

Parameters:
deepbool, default=True

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

Returns:
paramsdict

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

partial_fit(X, y)[source]

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

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

输入数据。

yndarray of shape (n_samples,)

目标值。

Returns:
selfobject

训练好的MLP模型。

predict(X)[source]

预测提供数据的目标

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

测试样本。

Returns:
array, shape = (n_ts, ) or (n_ts, dim_y)

预测目标的数组

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

返回预测的确定系数。

决定系数\(R^2\)定义为\((1 - \frac{u}{v})\),其中\(u\)是残差平方和((y_true - y_pred)** 2).sum(),而\(v\)是总平方和((y_true - y_true.mean()) ** 2).sum()。最佳可能得分为1.0,且可能为负(因为模型可能任意更差)。一个总是预测y期望值的常数模型,忽略输入特征,将获得\(R^2\)得分为0.0。

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

测试样本。对于某些估计器,这可能是一个预计算的内核矩阵或一个形状为(n_samples, n_samples_fitted)的通用对象列表,其中n_samples_fitted是用于估计器拟合的样本数量。

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

X的真实值。

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

样本权重。

Returns:
scorefloat

\(R^2\)self.predict(X) 相对于 y

注释

在回归器上调用score时使用的\(R^2\)分数从0.23版本开始使用multioutput='uniform_average',以保持与r2_score()的默认值一致。这影响了所有多输出回归器的score方法(除了MultiOutputRegressor)。

set_params(**params)[source]

设置此估计器的参数。

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

Parameters:
**paramsdict

估计器参数。

Returns:
selfestimator instance

估计器实例。

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') TimeSeriesMLPRegressor[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

更新后的对象。