NaNLabelEncoder#
- class pytorch_forecasting.data.encoders.NaNLabelEncoder(add_nan: bool = False, warn: bool = True)[source]#
Bases:
InitialParameterRepresenterMixIn,BaseEstimator,TransformerMixin,TransformMixInLabelencoder that can optionally always encode nan and unknown classes (in transform) as class
0init NaNLabelEncoder
- Returns:
add_nan – if to force encoding of nan at 0
warn – if to warn if additional nans are added because items are unknown
- Inherited-members:
Methods
extra_repr()Return extra information about parameters for representation/logging.
fit(y[, overwrite])Fit transformer
fit_transform(y[, overwrite])Fit and transform data.
get_metadata_routing()Get metadata routing of this object.
get_parameters([groups, group_names])Get fitted scaling parameters for a given group.
get_params([deep])Get parameters for this estimator.
get_transform(transformation)Return transformation functions.
inverse_preprocess(y)Inverse preprocess re-scaled data (e.g. take exp).
Decode data, i.e. transform from integers to labels.
is_numeric(y)Determine if series is numeric or not.
preprocess(y)Preprocess input data (e.g. take log).
set_fit_request(*[, overwrite])Configure whether metadata should be requested to be passed to the
fitmethod.set_output(*[, transform])Set output container.
set_params(**params)Set the parameters of this estimator.
set_transform_request(*[, ignore_na, ...])Configure whether metadata should be requested to be passed to the
transformmethod.transform(y[, return_norm, target_scale, ...])Encode iterable with integers.
Attributes
TRANSFORMATIONS- static is_numeric(y: Series) bool[source]#
Determine if series is numeric or not. Will also return True if series is a categorical type with underlying integers.
- Parameters:
y (pd.Series) – series for which to carry out assessment
- Returns:
True if series is numeric
- Return type:
bool
- fit(y: Series, overwrite: bool = False)[source]#
Fit transformer
- Parameters:
y (pd.Series) – input data to fit on
overwrite (bool) – whether to overwrite current mappings or if to add to it.
- Returns:
NaNLabelEncoder
- Return type:
self
- fit_transform(y: Series, overwrite: bool = False) ndarray[source]#
Fit and transform data.
- Parameters:
y (pd.Series) – input data
overwrite (bool) – if to overwrite current mappings or if to add to it.
- Returns:
encoded data
- Return type:
np.ndarray
- get_parameters(groups=None, group_names=None) ndarray[source]#
Get fitted scaling parameters for a given group.
All parameters are unused - exists for compatibility.
- Returns:
zero array.
- Return type:
np.ndarray
- inverse_transform(y: Tensor | ndarray) ndarray[source]#
Decode data, i.e. transform from integers to labels.
- Parameters:
y (Union[torch.Tensor, np.ndarray]) – encoded data
- Raises:
KeyError – if unknown elements should be decoded
- Returns:
decoded data
- Return type:
np.ndarray
- set_fit_request(*, overwrite: bool | None | str = '$UNCHANGED$') NaNLabelEncoder#
Configure whether metadata should be requested to be passed to the
fitmethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed tofitif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it tofit.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
- Parameters:
overwrite (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for
overwriteparameter infit.- Returns:
self – The updated object.
- Return type:
object
- set_transform_request(*, ignore_na: bool | None | str = '$UNCHANGED$', return_norm: bool | None | str = '$UNCHANGED$', target_scale: bool | None | str = '$UNCHANGED$') NaNLabelEncoder#
Configure whether metadata should be requested to be passed to the
transformmethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed totransformif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it totransform.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
- Parameters:
ignore_na (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for
ignore_naparameter intransform.return_norm (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for
return_normparameter intransform.target_scale (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for
target_scaleparameter intransform.
- Returns:
self – The updated object.
- Return type:
object
- transform(y: Iterable, return_norm: bool = False, target_scale=None, ignore_na: bool = False) Tensor | ndarray[source]#
Encode iterable with integers.
- Parameters:
y (Iterable) – iterable to encode
return_norm – only exists for compatibility with other encoders - returns a tuple if true.
target_scale – only exists for compatibility with other encoders - has no effect.
ignore_na (bool) – if to ignore na values and map them to zeros (this is different to add_nan=True option which maps ONLY NAs to zeros while this options maps the first class and NAs to zeros)
- Returns:
returns encoded data as torch tensor or numpy array depending on input type
- Return type:
Union[torch.Tensor, np.ndarray]