sklearn.preprocessing
.robust_scale¶
- sklearn.preprocessing.robust_scale()¶
Estandariza un conjunto de datos a lo largo de cualquier eje
Centra a la mediana y escala por componentes según el rango intercuartílico.
Más información en el Manual de usuario.
- Parámetros
- X{array-like, sparse matrix} de forma (n_sample, n_features)
Los datos para centrar y escalar.
- axisint, default=0
eje utilizado para calcular las medianas y el IQR (rango intercuartílico). Si es 0, escala independientemente cada característica, de lo contrario (si es 1) escala cada muestra.
- with_centeringbool, default=True
Si es True, centra los datos antes del escalamiento.
- with_scalingbool, default=True
Si es True, escala los datos a la varianza unitaria (o, de manera equivalente, a la desviación estándar unitaria).
- quantile_rangetupla (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
establécelo en False para realizar la normalización de filas in place y evitar una copia (si la entrada ya es un arreglo numpy o una matriz scipy.sparse CSR y si el eje es 1).
- 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.
- Devuelve
- X_tr{ndarray, sparse matrix} de forma (n_samples, n_features)
Los datos transformados.
Ver también
RobustScaler
Realiza el centrado y el escalamiento utilizando la API Transformer (por ejemplo, como parte de un preprocesamiento
Pipeline
).
Notas
Esta implementación se negará a centrar las matrices scipy.sparse, ya que las convertiría en no dispersas y potencialmente bloquearía el programa con problemas de agotamiento de memoria.
En su lugar, se espera que el invocador (caller) establezca explícitamente
with_centering=False
(en ese caso, sólo se realizará el escalamiento de la varianza en las características de la matriz CSR) o llamar aX.toarray()
si espera que el arreglo denso materializado quepa en la memoria.Para evitar la copia de memoria el invocador debe pasar una matriz CSR.
Para una comparación de los diferentes escaladores, transformadores y normalizadores, consulta examples/preprocessing/plot_all_scaling.py.
Advertencia
Riesgo de fuga de datos
No utilices
robust_scale
a menos que sepas lo que estás haciendo. Un error común es aplicarlo a todos los datos antes de dividirlos en conjuntos de entrenamiento y prueba. Esto sesgará la evaluación del modelo porque la información se habrá filtrado del conjunto de prueba al conjunto de entrenamiento. En general, recomendamos utilizarRobustScaler
dentro de un Pipeline para evitar la mayoría de los riesgos de fuga de datos:pipe = make_pipeline(RobustScaler(), LogisticRegression())
.