sklearn.preprocessing.OrdinalEncoder

class sklearn.preprocessing.OrdinalEncoder

Codifica las características categóricas como un arreglo de números enteros.

La entrada de este transformador debe ser un array-like de números enteros o cadenas, denotando los valores que toman las características categóricas (discretas). Las características se convierten en enteros ordinales. El resultado es una sola columna de enteros (de 0 a n_categories - 1) por característica.

Lee más en el Manual de usuario.

Nuevo en la versión 0.20.

Parámetros
categories“auto” o una lista de array-like, default=”auto”

Categorías (valores únicos) por característica:

  • “auto” : Determina las categorías automáticamente a partir de los datos de entrenamiento.

  • lista (list): categories[i] contiene las categorías esperadas en la i-ésima columna. Las categorías pasadas no deben mezclar cadenas y valores numéricos, y deben ordenarse en caso de valores numéricos.

Las categorías utilizadas se encuentran en el atributo categories_.

dtypetipo numérico, default np.float64

Tipo de salida (dtype) deseado.

handle_unknown{“error”, “use_encoded_value”}, default=”error”

Cuando se establece en “error” se generará un error en caso de que una característica categórica desconocida esté presente durante la transformación. Cuando se establece en “use_encoded_value”, el valor codificado de categorías desconocidas se establecerá en el valor dado para el parámetro “unknown_value”. En inverse_transform, una categoría desconocida se denotará como None.

Nuevo en la versión 0.24.

unknown_valueint o np.nan, default=None

Cuando el parámetro handle_unknown se establece en “use_encoded_value”, este parámetro es necesario y establecerá el valor codificado de las categorías desconocidas. Tiene que ser distinto de los valores utilizados para codificar cualquiera de las categorías en fit. Si se establece en np.nan, el parámetro dtype debe ser un dtype float (número de punto flotante).

Nuevo en la versión 0.24.

Atributos
categories_lista de arreglos

Las categorías de cada característica determinadas durante fit (en orden de las características en X y correspondientes con la salida de transform). Esto no incluye las categorías que no se vieron durante fit.

Ver también

OneHotEncoder

Realiza una codificación one-hot de características categóricas.

LabelEncoder

Codifica las etiquetas objetivo con valores entre 0 y n_classes-1.

Ejemplos

Dado un conjunto de datos con dos características, dejamos que el codificador encuentre los valores únicos por característica y transforme los datos en una codificación ordinal.

>>> from sklearn.preprocessing import OrdinalEncoder
>>> enc = OrdinalEncoder()
>>> X = [['Male', 1], ['Female', 3], ['Female', 2]]
>>> enc.fit(X)
OrdinalEncoder()
>>> enc.categories_
[array(['Female', 'Male'], dtype=object), array([1, 2, 3], dtype=object)]
>>> enc.transform([['Female', 3], ['Male', 1]])
array([[0., 2.],
       [1., 0.]])
>>> enc.inverse_transform([[1, 0], [0, 1]])
array([['Male', 1],
       ['Female', 2]], dtype=object)

Métodos

fit

Ajusta el OrdinalEncoder a X.

fit_transform

Ajusta a los datos y luego los transforma.

get_params

Obtiene los parámetros para este estimador.

inverse_transform

Convierte los datos a la representación original.

set_params

Establece los parámetros de este estimador.

transform

Transforma X en códigos ordinales.

fit()

Ajusta el OrdinalEncoder a X.

Parámetros
Xarray-like, forma [n_samples, n_features]

Los datos para determinar las categorías de cada característica.

yNone

Ignorado. Este parámetro sólo existe por compatibilidad con Pipeline.

Devuelve
self
fit_transform()

Ajusta a los datos y luego los transforma.

Ajusta el transformador a X e y con los parámetros opcionales fit_params y devuelve una versión transformada de X.

Parámetros
Xarray-like de forma (n_samples, n_features)

Muestras de entrada.

yarray-like de forma (n_samples,) o (n_samples, n_outputs), default=None

Valores objetivo (None para transformaciones no supervisadas).

**fit_paramsdict

Parámetros de ajuste adicionales.

Devuelve
X_newarreglo ndarray de forma (n_samples, n_features_new)

Arreglo transformado.

get_params()

Obtiene los parámetros para este estimador.

Parámetros
deepbool, default=True

Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.

Devuelve
paramsdict

Los nombres de los parámetros mapeados a sus valores.

inverse_transform()

Convierte los datos a la representación original.

Parámetros
Xarray-like o matriz dispersa, forma [n_samples, n_encoded_features]

Los datos transformados.

Devuelve
X_trarray-like, forma [n_samples, n_features]

Arreglo transformado inverso.

set_params()

Establece los parámetros de este estimador.

El método funciona tanto en estimadores simples como en objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma <component>__<parameter> para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devuelve
selfinstancia del estimador

Instancia del estimador.

transform()

Transforma X en códigos ordinales.

Parámetros
Xarray-like, forma [n_samples, n_features]

Los datos a codificar.

Devuelve
X_outmatriz dispersa o un arreglo 2-d

Entrada transformada.

Ejemplos utilizando sklearn.preprocessing.OrdinalEncoder