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-learn的
MLPRegressor中。它接受与
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_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
更新后的对象。