编码器归一化器#
- class pytorch_forecasting.data.encoders.EncoderNormalizer(method: str = 'standard', center: bool = True, max_length: int | List[int] = None, transformation: str | Tuple[Callable, Callable] = None, method_kwargs: Dict[str, Any] = None)[来源]#
基础:
TorchNormalizer
特殊归一化器,适用于每个编码序列。
如果使用,这个变换器将分别在每个编码器序列上进行拟合。这个归一化器对于目标归一化尤其有用。
初始化
- Parameters:
method (str, 可选, 默认="standard") – 用于重新缩放时间序列的方法。可以是“identity”、“standard”(标准缩放)或“robust”(使用分位数0.25-0.75进行缩放)。默认为“standard”。
method_kwargs (字典[字符串, 任意], 可选, 默认=None) –
方法特定参数的字典,如下所列
”robust” 方法: “upper”, “lower”, “center” 分位数默认为 0.75, 0.25 和 0.5
center (bool, optional, default=True) – 是否将输出居中为零。默认为 True。
max_length (Union[int, List[int]], optional) – 计算参数时考虑的最大长度。如果是元组,第一长度是计算中心的最大长度,第二是计算尺度的最大长度。默认为时间序列的整个长度。
转换 (联合[字符串, 元组[可调用, 可调用]] 可选:) –
在应用归一化器之前转换值。可用选项有
无 (默认):不对值进行转换
对数:在对数空间中进行估计,导致乘法模型
log1p:在对数空间中进行估计,但在转换前向值加1以确保稳定性
(例如,如果有许多小于1的值)。注意,逆转换仍然只是 torch.exp() 而不是 torch.expm1()。
logit:对位于0和1之间的值应用logit转换
计数:对输出应用softplus(逆转换),对输入应用x + 1(转换)
softplus:对输出应用softplus(逆转换),对输入应用逆softplus(转换)
relu:对输出应用max(0, x)
Dict[str, Callable] 的PyTorch函数,用于转换和逆转换值。
forward
和reverse
条目是必需的。inverse
转换是可选的,应该定义如果reverse
不是前向转换的逆。inverse_torch
可以定义以提供逆转换的torch分布变换。
- Inherited-members:
方法
extra_repr
()fit
(y)拟合变换器,即确定数据的中心和尺度。
fit_transform
(X[, y])适应数据,然后进行转换。
get_metadata_routing
()获取此对象的元数据路由。
get_parameters
(*args, **kwargs)返回用于编码的参数。
get_params
([deep])获取此估计器的参数。
get_transform
(转换)返回变换函数。
inverse_preprocess
(y)逆向预处理重新缩放的数据(例如,取指数)。
inverse_transform
(y)反向缩放。
preprocess
(y)预处理输入数据(例如,取对数)。
set_output
(*[, transform])设置输出容器。
set_params
(**params)设置此估计器的参数。
set_transform_request
(*[, return_norm, ...])传递给
transform
方法的请求元数据。transform
(y[, return_norm, target_scale])重新缩放数据。
属性
转换
min_length
- fit(y: Series | ndarray | Tensor)[来源]#
拟合变换器,即确定数据的中心和尺度
- Parameters:
y (Union[pd.Series, np.ndarray, torch.Tensor]) – 输入数据
- Returns:
TorchNormalizer
- Return type:
自己
- set_transform_request(*, return_norm: bool | None | str = '$UNCHANGED$', target_scale: bool | None | str = '$UNCHANGED$') 编码器归一化器 #
传递给
transform
方法的请求元数据。请注意,该方法仅在
enable_metadata_routing=True
的情况下相关(见sklearn.set_config()
)。有关路由机制如何工作的说明,请参见 用户指南。每个参数的选项为:
True
: 请求元数据,如果提供,则传递给transform
。如果未提供元数据,则请求将被忽略。False
: 未请求元数据,元估计器将不会将其传递给transform
。None
: 未请求元数据,如果用户提供了,元估计器将引发错误。str
: 元数据应该通过这个给定的别名传递给元估计器,而不是原始名称。
默认值(
sklearn.utils.metadata_routing.UNCHANGED
)保留现有请求。这允许您更改某些参数的请求,而不更改其他参数。在1.3版本中新增。
注意
此方法仅在此估计器作为元估计器的子估计器时相关,例如在一个
Pipeline
内部使用。否则它没有效果。- Parameters:
return_norm (str, True, False, 或 None, 默认=sklearn.utils.metadata_routing.UNCHANGED) –
transform
中return_norm
参数的元数据路由。target_scale (str, True, False, 或 None, 默认=sklearn.utils.metadata_routing.UNCHANGED) –
transform
中target_scale
参数的元数据路由。
- Returns:
self – 更新后的对象。
- Return type:
对象