ordinal_encoder#

A transformer that encodes ordinal features as an array of ordinal integers representing the relative order of categories.

Module Contents#

Classes Summary#

OrdinalEncoder

A transformer that encodes ordinal features as an array of ordinal integers representing the relative order of categories.

OrdinalEncoderMeta

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

categories

Returns a list of the unique categories to be encoded for the particular feature, in order.

clone

Constructs a new component with the same parameters and random state.

default_parameters

Returns the default parameters for this component.

describe

Describe a component and its parameters.

fit

Fits the ordinal encoder component.

fit_transform

Fits on X and transforms X.

get_feature_names

Return feature names for the ordinal features after fitting.

load

Loads component at file path.

needs_fitting

Returns boolean determining if component needs fitting before calling predict, predict_proba, transform, or feature_importances.

parameters

Returns the parameters which were used to initialize the component.

save

Saves component at file path.

transform

Ordinally encode the input data.

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

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

check_for_fit wraps a method that validates if self._is_fitted is True.

register

Register a virtual subclass of an ABC.

set_fit

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.