sklearn.preprocessing.FunctionTransformer

class sklearn.preprocessing.FunctionTransformer

Construye un transformador a partir de un invocable arbitrario.

Un FunctionTransformer envía sus argumentos X (y opcionalmente y) a una función u objeto de función definida por el usuario y devuelve el resultado de esta función. Esto es útil para las transformaciones sin estado (stateless), como tomar el logaritmo de las frecuencias, hacer un escalamiento personalizado, etc.

Nota: Si se utiliza un lambda como la función, entonces el transformador resultante no será seleccionable.

Nuevo en la versión 0.17.

Leer más en el Manual de Usuario.

Parámetros
funcinvocable, default=None

El invocable a utilizar para la transformación. Se le pasarán los mismos argumentos que a transform, con args y kwargs reenviados. Si func es None, entonces func será la función de identidad.

inverse_funcinvocable, default=None

El invocable a utilizar para la transformación inversa. Se le pasarán los mismos argumentos que a la transformación inversa, con args y kwargs reenviados. Si inverse_func es None, entonces inverse_func será la función de identidad.

validatebooleano, default=False

Indica que el arreglo X de entrada debe ser verificado antes de llamar a func. Las posibilidades son:

  • Si es False, no hay validación de entrada.

  • Si es True, entonces X se convertirá en un arreglo NumPy de 2 dimensiones o en una matriz dispersa. Si la conversión no es posible, se levanta una excepción.

Distinto en la versión 0.22: El valor predeterminado de validate cambió de True a False.

accept_sparsebooleano, default=False

Indica que func acepta una matriz dispersa como entrada. Si validate es False, esto no tiene efecto. En caso contrario, si accept_sparse es falso, las entradas de matrices dispersas provocarán que se levante una excepción.

check_inversebooleano, default=True

Si se comprueba que func seguido de inverse_func conduce a las entradas originales. Se puede utilizar para una comprobación de validez, levantando una advertencia cuando la condición no se cumple.

Nuevo en la versión 0.20.

kw_argsdiccionario, default=None

Diccionario de argumentos de palabras clave adicionales para pasar a func.

Nuevo en la versión 0.18.

inv_kw_argsdiccionario, default=None

Diccionario de argumentos de palabras clave adicionales para pasar a inverse_func.

Nuevo en la versión 0.18.

Ejemplos

>>> import numpy as np
>>> from sklearn.preprocessing import FunctionTransformer
>>> transformer = FunctionTransformer(np.log1p)
>>> X = np.array([[0, 1], [2, 3]])
>>> transformer.transform(X)
array([[0.       , 0.6931...],
       [1.0986..., 1.3862...]])

Métodos

fit

Ajusta el transformador comprobando X.

fit_transform

Ajusta a los datos y luego los transforma.

get_params

Obtiene los parámetros para este estimador.

inverse_transform

Transforma X utilizando la función inversa.

set_params

Establece los parámetros de este estimador.

transform

Transforma X utilizando la función de reenvío (forward).

fit()

Ajusta el transformador comprobando X.

Si validate es True, se comprobará X.

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

Arreglo de entrada.

Devuelve
self
fit_transform()

Ajusta a los datos y luego los transforma.

Ajusta el transformador a X y y con 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
deepbooleano, default=True

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

Devuelve
paramsdict

Nombres de parámetros mapeados a sus valores.

inverse_transform()

Transforma X utilizando la función inversa.

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

Arreglo de entrada.

Devuelve
X_outarray-like, forma (n_samples, n_features)

Entrada transformada.

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 utilizando la función de reenvío (forward).

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

Arreglo de entrada.

Devuelve
X_outarray-like, forma (n_samples, n_features)

Entrada transformada.

Ejemplos utilizando sklearn.preprocessing.FunctionTransformer