sklearn.preprocessing.QuantileTransformer

class sklearn.preprocessing.QuantileTransformer

Transforma las características utilizando la información de los cuantiles.

Este método transforma las características para que sigan una distribución uniforme o normal. Por lo tanto, para una característica determinada, esta transformación tiende a repartir los valores más frecuentes. También reduce el impacto de los valores atípicos (marginales): se trata, por tanto, de un esquema de preprocesamiento robusto.

La transformación se aplica a cada característica de forma independiente. Primero, se utiliza una estimación de la función de distribución acumulada de una característica para mapear los valores originales a una distribución uniforme. Luego, los valores obtenidos se mapean a la distribución de salida deseada utilizando la función cuantil asociada. Los valores de las características de los datos nuevos/no vistos que caen por debajo o por encima del rango ajustado serán mapeados a los límites de la distribución de salida. Ten en cuenta que esta transformación no es lineal. Puede distorsionar las correlaciones lineales entre las variables medidas en la misma escala, pero hace que las variables medidas en diferentes escalas sean más directamente comparables.

Lee más en el Manual de usuario.

Nuevo en la versión 0.19.

Parámetros
n_quantilesint, default=1000 o n_samples

Número de cuantiles a calcular. Corresponde al número de puntos de referencia utilizados para discretizar la función de distribución acumulada. Si n_quantiles es mayor que el número de muestras, n_quantiles se fija en el número de muestras, ya que un número mayor de cuantiles no proporciona una mejor aproximación del estimador de la función de distribución acumulada.

output_distribution{“uniform”, “normal”}, default=”uniform”

Distribución marginal para los datos transformados. Las opciones son “uniform” (predeterminado) o “normal”.

ignore_implicit_zerosbool, default=False

Sólo se aplica a las matrices dispersas. Si es True, las entradas dispersas de la matriz se descartan para calcular las estadísticas de cuantiles. Si es False, estas entradas se tratan como ceros.

subsampleint, default=1e5

Número máximo de muestras utilizadas para estimar los cuantiles para eficiencia computacional. Ten en cuenta que el procedimiento de submuestreo puede diferir para matrices densas y dispersas de valores idénticos.

random_stateentero, instancia de RandomState o None, default=None

Determina la generación de números aleatorios para el submuestreo y el suavizado del ruido. Por favor, consulta subsample para más detalles. Pasa un número entero (int) para que los resultados sean reproducibles en varias invocaciones a la función. Ver Glosario

copybool, default=True

Establécelo en False para realizar una transformación in place y evitar una copia (si la entrada ya es un arreglo de numpy).

Atributos
n_quantiles_int

El número real de cuantiles utilizados para discretizar la función de distribución acumulada.

quantiles_ndarray de forma (n_quantiles, n_features)

Los valores correspondientes a los cuantiles de referencia.

references_ndarray de forma (n_quantiles, )

Cuantiles de referencias.

Ver también

quantile_transform

Función equivalente sin la API del estimador.

PowerTransformer

Realizar el mapeo a una distribución normal utilizando una transformación de potencia.

StandardScaler

Realiza una normalización más rápida, pero menos robusta a los valores atípicos.

RobustScaler

Realiza una estandarización robusta que elimina la influencia de los valores atípicos, pero que no coloca los valores atípicos y los valores típicos en la misma escala.

Notas

Los NaNs son tratados como valores faltantes: no se tienen en cuenta en el ajuste y se mantienen en la transformación.

Para una comparación de los diferentes escaladores, transformadores y normalizadores, consulta examples/preprocessing/plot_all_scaling.py.

Ejemplos

>>> import numpy as np
>>> from sklearn.preprocessing import QuantileTransformer
>>> rng = np.random.RandomState(0)
>>> X = np.sort(rng.normal(loc=0.5, scale=0.25, size=(25, 1)), axis=0)
>>> qt = QuantileTransformer(n_quantiles=10, random_state=0)
>>> qt.fit_transform(X)
array([...])

Métodos

fit

Calcula los cuantiles utilizados ​​para la transformación.

fit_transform

Ajusta a los datos y luego los transforma.

get_params

Obtiene los parámetros para este estimador.

inverse_transform

Retroproyección al espacio original.

set_params

Establece los parámetros de este estimador.

transform

Transformación de los datos en función de las características.

fit()

Calcula los cuantiles utilizados ​​para la transformación.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Los datos utilizados para escalar a lo largo del eje de características. Si se proporciona una matriz dispersa, se convertirá en una csc_matrix dispersa. Además, la matriz dispersa debe ser no negativa si ignore_implicit_zeros es False.

yNone

Ignorado.

Devuelve
selfobject

Transformador ajustado.

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()

Retroproyección al espacio original.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Los datos utilizados para escalar a lo largo del eje de características. Si se proporciona una matriz dispersa, se convertirá en una csc_matrix dispersa. Además, la matriz dispersa debe ser no negativa si ignore_implicit_zeros es False.

Devuelve
Xt{ndarray, sparse matrix} de (n_samples, n_features)

Los datos proyectados.

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()

Transformación de los datos en función de las características.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Los datos utilizados para escalar a lo largo del eje de características. Si se proporciona una matriz dispersa, se convertirá en una csc_matrix dispersa. Además, la matriz dispersa debe ser no negativa si ignore_implicit_zeros es False.

Devuelve
Xt{ndarray, sparse matrix} de forma (n_samples, n_features)

Los datos proyectados.

Ejemplos utilizando sklearn.preprocessing.QuantileTransformer