class sklearn.preprocessing.RobustScaler(*, with_centering=True, with_scaling=True, quantile_range=25.0, 75.0, copy=True, unit_variance=False)[source]

Escale características usando estadísticas que sean robustas a valores atípicos.

Este escalador elimina la mediana y escala los datos de acuerdo con el rango de cuantiles (el valor predeterminado es IQR: rango intercuartílico). El IQR es el rango entre el primer cuartil (cuantil 25) y el tercer cuartil (cuantil 75).

El centrado y el escalado ocurren de forma independiente en cada característica al calcular las estadísticas relevantes en las muestras en el conjunto de entrenamiento. A continuación, se almacenan la mediana y el rango intercuartílico para utilizarlos en datos posteriores utilizando el transform método.

La estandarización de un conjunto de datos es un requisito común para muchos estimadores de aprendizaje automático. Normalmente, esto se hace eliminando la media y escalando a la varianza unitaria. Sin embargo, los valores atípicos a menudo pueden influir en la media / varianza de la muestra de forma negativa. En tales casos, la mediana y el rango intercuartílico suelen dar mejores resultados.

Nuevo en la versión 0.17.

Leer más en el Guía del usuario.

Parámetros
with_centeringbool, default=True

Si es Verdadero, centre los datos antes de escalar. Esto causará transform para generar una excepción cuando se intenta en matrices dispersas, porque centrarlas implica construir una matriz densa que en casos de uso común es probable que sea demasiado grande para caber en la memoria.

with_scalingbool, default=True

Si es verdadero, escale los datos al rango intercuartílico.

quantile_rangetuple (q_min, q_max), 0.0 < q_min < q_max < 100.0, default=(25.0, 75.0), == (1st quantile, 3rd quantile), == IQR

Rango de cuantiles utilizado para calcular scale_.

Nuevo en la versión 0.18.

copybool, default=True

Si es falso, intente evitar una copia y, en su lugar, realice un escalado in situ. No se garantiza que esto funcione siempre en el lugar; por ejemplo, si los datos no son una matriz NumPy o una matriz CSR scipy.sparse, es posible que se devuelva una copia.

unit_variancebool, default=False

Si es Verdadero, escale los datos para que las características normalmente distribuidas tengan una varianza de 1. En general, si la diferencia entre los valores de x de q_max y q_min para una distribución normal estándar es mayor que 1, el conjunto de datos se reducirá. Si es menor que 1, el conjunto de datos se ampliará.

Nuevo en la versión 0.24.

Atributos
center_array of floats

El valor mediano de cada característica en el conjunto de entrenamiento.

scale_array of floats

El rango intercuartil (escalado) para cada característica en el conjunto de entrenamiento.

Nuevo en la versión 0.17: escala_ atributo.

Ver también

robust_scale

Función equivalente sin la API de estimador.

PCA

Elimina aún más la correlación lineal entre características con 'blanquear = Verdadero'.

Notas

Para una comparación de los diferentes escaladores, transformadores y normalizadores, consulte ejemplos / preprocesamiento / plot_all_scaling.py.

https://en.wikipedia.org/wiki/Medianhttps://en.wikipedia.org/wiki/Interquartile_range

Ejemplos de

>>>from sklearn.preprocessing import RobustScaler
>>> X =[[1.,-2.,2.],...[-2.,1.,3.],...[4.,1.,-2.]]>>> transformer = RobustScaler().fit(X)>>> transformer
RobustScaler()>>> transformer.transform(X)
array([[0.,-2.,0.],[-1.,0.,0.4],[1.,0.,-1.6]])

Métodos

fit(X[, y])

Calcule la mediana y los cuantiles que se utilizarán para escalar.

fit_transform(X[, y])

Ajústelos a los datos y luego transfórmelos.

get_params([deep])

Obtenga parámetros para este estimador.

inverse_transform(X)

Reducir los datos a la representación original

set_params(** parámetros)

Establezca los parámetros de este estimador.

transform(X)

Centre y escale los datos.

fit(X, y=None)[source]

Calcule la mediana y los cuantiles que se utilizarán para escalar.

Parámetros
Xarray-like, sparse matrix of shape (n_samples, n_features)

Los datos utilizados para calcular la mediana y los cuantiles utilizados para escalarlos posteriormente a lo largo del eje de las características.

yNone

Ignorado.

Devoluciones
selfobject

Escalador equipado.

fit_transform(X, y=None, **fit_params)[source]

Ajústelos a los datos y luego transfórmelos.

Se adapta al transformador X y y con parámetros opcionales fit_params y devuelve una versión transformada de X.

Parámetros
Xarray-like of shape (n_samples, n_features)

Muestras de entrada.

yarray-like of shape (n_samples,) or (n_samples, n_outputs), default=None

Valores objetivo (Ninguno para transformaciones no supervisadas).

**fit_paramsdict

Parámetros de ajuste adicionales.

Devoluciones
X_newndarray array of shape (n_samples, n_features_new)

Matriz transformada.

get_params(deep=True)[source]

Obtenga 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.

Devoluciones
paramsdict

Nombres de parámetros asignados a sus valores.

inverse_transform(X)[source]

Reducir los datos a la representación original

Parámetros
Xarray-like, sparse matrix of shape (n_samples, n_features)

Los datos reescalados se volverán a transformar.

Devoluciones
X_trndarray, sparse matrix of shape (n_samples, n_features)

Matriz transformada.

set_params(**params)[source]

Establezca 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 __ para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devoluciones
selfestimator instance

Instancia de estimador.

transform(X)[source]

Centre y escale los datos.

Parámetros
Xarray-like, sparse matrix of shape (n_samples, n_features)

Los datos utilizados para escalar a lo largo del eje especificado.

Devoluciones
X_trndarray, sparse matrix of shape (n_samples, n_features)

Matriz transformada.

Ejemplos usando sklearn.preprocessing.RobustScaler

Compare el efecto de diferentes escaladores en los datos con valores atípicos

Compare el efecto de diferentes escaladores en los datos con valores atípicos