ordinal_encoder#
A transformer that encodes ordinal features as an array of ordinal integers representing the relative order of categories.
Module Contents#
Classes Summary#
A transformer that encodes ordinal features as an array of ordinal integers representing the relative order of categories. |
|
A version of the ComponentBaseMeta class which includes validation on an additional ordinal-encoder-specific method categories. |
Contents#
- class evalml.pipelines.components.transformers.encoders.ordinal_encoder.OrdinalEncoder(features_to_encode=None, categories=None, handle_unknown='error', unknown_value=None, encoded_missing_value=None, random_seed=0, **kwargs)[source]#
A transformer that encodes ordinal features as an array of ordinal integers representing the relative order of categories.
- Parameters
features_to_encode (list[str]) – List of columns to encode. All other columns will remain untouched. If None, all appropriate columns will be encoded. Defaults to None. The order of columns does not matter.
categories (dict[str, list[str]]) – A dictionary mapping column names to their categories in the dataframes passed in at fit and transform. The order of categories specified for a column does not matter. Any category found in the data that is not present in categories will be handled as an unknown value. To not have unknown values raise an error, set handle_unknown to “use_encoded_value”. Defaults to None.
handle_unknown ("error" or "use_encoded_value") – Whether to ignore or error for unknown categories for a feature encountered during fit or transform. When set to “error”, an error will be raised when an unknown category is found. When set to “use_encoded_value”, unknown categories will be encoded as the value given for the parameter unknown_value. Defaults to “error.”
unknown_value (int or np.nan) – The value to use for unknown categories seen during fit or transform. Required when the parameter handle_unknown is set to “use_encoded_value.” The value has to be distinct from the values used to encode any of the categories in fit. Defaults to None.
encoded_missing_value (int or np.nan) – The value to use for missing (null) values seen during fit or transform. Defaults to np.nan.
random_seed (int) – Seed for the random number generator. Defaults to 0.
Attributes
hyperparameter_ranges
{}
modifies_features
True
modifies_target
False
name
Ordinal Encoder
training_only
False
Methods
Returns a list of the unique categories to be encoded for the particular feature, in order.
Constructs a new component with the same parameters and random state.
Returns the default parameters for this component.
Describe a component and its parameters.
Fits the ordinal encoder component.
Fits on X and transforms X.
Return feature names for the ordinal features after fitting.
Loads component at file path.
Returns boolean determining if component needs fitting before calling predict, predict_proba, transform, or feature_importances.
Returns the parameters which were used to initialize the component.
Saves component at file path.
Ordinally encode the input data.
Updates the parameter dictionary of the component.
- categories(self, feature_name)[source]#
Returns a list of the unique categories to be encoded for the particular feature, in order.
- Parameters
feature_name (str) – The name of any feature provided to ordinal encoder during fit.
- Returns
The unique categories, in the same dtype as they were provided during fit.
- Return type
np.ndarray
- Raises
ValueError – If feature was not provided to ordinal encoder as a training feature.
- clone(self)#
Constructs a new component with the same parameters and random state.
- Returns
A new instance of this component with identical parameters and random state.
- default_parameters(cls)#
Returns the default parameters for this component.
Our convention is that Component.default_parameters == Component().parameters.
- Returns
Default parameters for this component.
- Return type
dict
- describe(self, print_name=False, return_dict=False)#
Describe a component and its parameters.
- Parameters
print_name (bool, optional) – whether to print name of component
return_dict (bool, optional) – whether to return description as dictionary in the format {“name”: name, “parameters”: parameters}
- Returns
Returns dictionary if return_dict is True, else None.
- Return type
None or dict
- fit(self, X, y=None)[source]#
Fits the ordinal encoder component.
- Parameters
X (pd.DataFrame) – The input training data of shape [n_samples, n_features].
y (pd.Series, optional) – The target training data of length [n_samples].
- Returns
self
- Raises
ValueError – If encoding a column failed.
TypeError – If non-Ordinal columns are specified in features_to_encode.
- fit_transform(self, X, y=None)#
Fits on X and transforms X.
- Parameters
X (pd.DataFrame) – Data to fit and transform.
y (pd.Series) – Target data.
- Returns
Transformed X.
- Return type
pd.DataFrame
- Raises
MethodPropertyNotFoundError – If transformer does not have a transform method or a component_obj that implements transform.
- get_feature_names(self)[source]#
Return feature names for the ordinal features after fitting.
Feature names are formatted as {column name}_ordinal_encoding.
- Returns
The feature names after encoding, provided in the same order as input_features.
- Return type
np.ndarray
- static load(file_path)#
Loads component at file path.
- Parameters
file_path (str) – Location to load file.
- Returns
ComponentBase object
- needs_fitting(self)#
Returns boolean determining if component needs fitting before calling predict, predict_proba, transform, or feature_importances.
This can be overridden to False for components that do not need to be fit or whose fit methods do nothing.
- Returns
True.
- property parameters(self)#
Returns the parameters which were used to initialize the component.
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
Saves component at file path.
- Parameters
file_path (str) – Location to save file.
pickle_protocol (int) – The pickle data stream format.
- transform(self, X, y=None)[source]#
Ordinally encode the input data.
- Parameters
X (pd.DataFrame) – Features to encode.
y (pd.Series) – Ignored.
- Returns
Transformed data, where each ordinal feature has been encoded into a numerical column where ordinal integers represent the relative order of categories.
- Return type
pd.DataFrame
- update_parameters(self, update_dict, reset_fit=True)#
Updates the parameter dictionary of the component.
- Parameters
update_dict (dict) – A dict of parameters to update.
reset_fit (bool, optional) – If True, will set _is_fitted to False.
- class evalml.pipelines.components.transformers.encoders.ordinal_encoder.OrdinalEncoderMeta[source]#
A version of the ComponentBaseMeta class which includes validation on an additional ordinal-encoder-specific method categories.
Attributes
FIT_METHODS
[‘fit’, ‘fit_transform’]
METHODS_TO_CHECK
None
PROPERTIES_TO_CHECK
[‘feature_importance’]
Methods
check_for_fit wraps a method that validates if self._is_fitted is True.
Register a virtual subclass of an ABC.
Wrapper for the fit method.
- classmethod check_for_fit(cls, method)#
check_for_fit wraps a method that validates if self._is_fitted is True.
It raises an exception if False and calls and returns the wrapped method if True.
- Parameters
method (callable) – Method to wrap.
- Returns
The wrapped method.
- Raises
ComponentNotYetFittedError – If component is not yet fitted.
- register(cls, subclass)#
Register a virtual subclass of an ABC.
Returns the subclass, to allow usage as a class decorator.
- classmethod set_fit(cls, method)#
Wrapper for the fit method.