sklearn.preprocessing
.RobustScaler¶
- class sklearn.preprocessing.RobustScaler¶
Escala las características utilizando estadísticas que son robustas a los valores atípicos.
Este escalador elimina la mediana y escala los datos de acuerdo con el rango cuantílico (por defecto 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 escalamiento se realizan independientemente en cada característica, calculando los estadísticos pertinentes en las muestras del conjunto de entrenamiento. La mediana y el rango intercuartílico se almacenan para utilizarlos en datos posteriores mediante el método
transform
.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 pueden influir a menudo en la media/varianza de la muestra de forma negativa. En estos casos, la mediana y el rango intercuartílico suelen dar mejores resultados.
Nuevo en la versión 0.17.
Más información en el Manual de usuario.
- Parámetros
- with_centeringbool, default=True
Si es True, centra los datos antes de escalarlos. Esto hará que
transform
lance una excepción cuando se intente con matrices dispersas, ya que centrarlas implica construir una matriz densa que, en los casos de uso más comunes, es probable que sea demasiado grande para caber en la memoria.- with_scalingbool, default=True
Si es True, escala 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 cuantílico utilizado para calcular
scale_
.Nuevo en la versión 0.18.
- copybool, default=True
Si es False, intenta evitar una copia y, en su lugar, realiza un escalamiento in place. No se garantiza que esto funcione siempre in place; por ejemplo, si los datos no son un arreglo de NumPy o una matriz CSR scipy.sparse, es posible que se devuelva una copia.
- unit_variancebool, default=False
Si es True, escala los datos para que las características distribuidas normalmente tengan una varianza de 1. En general, si la diferencia entre los valores x de
q_max
yq_min
para una distribución normal estándar es mayor que 1, el conjunto de datos será escalado hacia abajo. Si es menor que 1, el conjunto de datos se escalará hacia arriba.Nuevo en la versión 0.24.
- Atributos
- center_arreglo de flotantes
El valor de la mediana de cada característica del conjunto de entrenamiento.
- scale_arreglo de flotantes
El rango intercuartílico (escalado) de cada característica en el conjunto de entrenamiento.
Nuevo en la versión 0.17: atributo scale_.
Ver también
robust_scale
Función equivalente sin la API estimator.
PCA
Elimina además la correlación lineal entre características con “whiten=True”.
Notas
Para una comparación de los diferentes escaladores, transformadores y normalizadores, consulta examples/preprocessing/plot_all_scaling.py.
https://en.wikipedia.org/wiki/Median https://en.wikipedia.org/wiki/Interquartile_range
Ejemplos
>>> 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
Calcula la mediana y los cuantiles que se utilizarán para el escalamiento.
Ajusta los datos y luego los transforma.
Obtiene los parámetros para este estimador.
Reduce los datos a la representación original
Establece los parámetros de este estimador.
Centra y escala los datos.
- fit()¶
Calcula la mediana y los cuantiles que se utilizarán para el escalamiento.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Los datos utilizados para calcular la mediana y los cuantiles utilizados para el posterior escalamiento a lo largo del eje de las características.
- yNone
Ignorado.
- Devuelve
- selfobject
Escalador ajustado.
- fit_transform()¶
Ajusta los datos y luego los transforma.
Ajusta el transformador a
X
ey
con los parámetros opcionalesfit_params
y devuelve una versión transformada deX
.- 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
Nombres de parámetros mapeados a sus valores.
- inverse_transform()¶
Reduce los datos a la representación original
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Los datos reescalados para ser transformados de nuevo.
- Devuelve
- X_tr{ndarray, sparse matrix} de forma (n_samples, n_features)
Arreglo transformado.
- set_params()¶
Establece los parámetros de este estimador.
El método funciona tanto con 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 de estimador
Instancia del estimador.
- transform()¶
Centra y escala los datos.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Los datos utilizados para escalar a lo largo del eje especificado.
- Devuelve
- X_tr{ndarray, sparse matrix} de forma (n_samples, n_features)
Arreglo transformado.