Preprocesamiento de datos con Sklearn usando escalador estándar y Minmax

El escalado de datos es un paso de preprocesamiento de datos para características numéricas. Muchos algoritmos de aprendizaje automático, como los métodos de descenso de gradiente, el algoritmo KNN, la regresión lineal y logística, etc., requieren escalado de datos para producir buenos resultados. Se definen varios escaladores para este propósito. Este artículo se concentra en Standard Scaler y Min-Max scaler. La tarea aquí es discutir lo que significan y cómo se implementan utilizando las funciones integradas que vienen con este paquete.

Además de admitir funciones de biblioteca, otras funciones que se utilizarán para lograr la funcionalidad son:

  • El método de ajuste (datos) se usa para calcular la media y la desviación estándar para una función determinada, de modo que se pueda usar más para escalar.
  • El método transform(data) se utiliza para realizar el escalado utilizando la media y la desviación estándar calculadas mediante el método .fit().
  • El método fit_transform() ajusta y transforma.

Escalador estándar

Standard Scaler ayuda a obtener una distribución estandarizada, con una media cero y una desviación estándar de uno (varianza unitaria). Estandariza las características restando el valor medio de la característica y luego dividiendo el resultado por la desviación estándar de la característica. 

La escala estándar se calcula como: 

z = (x - u) / s

Dónde,

  • z son datos escalados.
  • x debe ser un dato escalado.
  • u es la media de las muestras de entrenamiento
  • s es la desviación estándar de las muestras de entrenamiento.

El preprocesamiento de Sklearn es compatible con el método StandardScaler() para lograr esto directamente en solo 2 o 3 pasos.

Sintaxis: clase sklearn.preprocessing.StandardScaler(*, copy=True, with_mean=True, with_std=True)

Parámetros:

  • copy: si es False, se realiza el escalado in situ. Si es True , se crea una copia en lugar de una escala in situ.
  • with_mean: si es True, los datos se centran antes de escalar.
  • with_std: si es verdadero, los datos se escalan a la varianza de la unidad.

Acercarse:

  • Módulo de importación
  • Crear datos
  • Calcule los valores requeridos
  • Imprimir datos procesados

Ejemplo:

Python3

# import module
from sklearn.preprocessing import StandardScaler
 
# create data
data = [[11, 2], [3, 7], [0, 10], [11, 8]]
 
# compute required values
scaler = StandardScaler()
model = scaler.fit(data)
scaled_data = model.transform(data)
 
# print scaled data
print(scaled_data)

Producción:

[[ 0.97596444 -1.61155897]

 [-0.66776515 0.08481889]

 [-1.28416374 1.10264561]

 [ 0.97596444 0.42409446]]

Escalador MinMax

Hay otra forma de escalar datos, donde el mínimo de características se hace igual a cero y el máximo de características igual a uno. MinMax Scaler reduce los datos dentro del rango dado, generalmente de 0 a 1. Transforma los datos escalando las características a un rango dado. Escala los valores a un rango de valores específico sin cambiar la forma de la distribución original.

El escalado MinMax se realiza mediante:

x_std = (x – x.min(eje=0)) / (x.max(eje=0) – x.min(eje=0))

x_scaled = x_std * (max – min) + min

Dónde,

  • mín, máx = intervalo_de_características
  • x.min(axis=0) : Valor mínimo de característica
  • x.max(axis=0):Valor máximo de característica

El preprocesamiento de Sklearn define el método MinMaxScaler() para lograr esto.

Sintaxis: clase sklearn.preprocessing.MinMaxScaler(feature_range=0, 1, *, copy=True, clip=False)

Parámetros:

  • feature_range: rango deseado de datos escalados. El rango predeterminado para la característica devuelta por MinMaxScaler es de 0 a 1. El rango se proporciona en forma de tupla como (min, max).
  • copy: si es False, se realiza el escalado in situ. Si es True , se crea una copia en lugar de una escala in situ.
  • clip: si es verdadero, los datos escalados se recortan al rango de características proporcionado.

Acercarse:

  • Módulo de importación
  • Crear datos
  • Datos de escala
  • imprimir datos a escala

Ejemplo:

Python3

# import module
from sklearn.preprocessing import MinMaxScaler
 
# create data
data = [[11, 2], [3, 7], [0, 10], [11, 8]]
 
# scale features
scaler = MinMaxScaler()
model=scaler.fit(data)
scaled_data=model.transform(data)
 
# print scaled features
print(scaled_data)

Producción:

[[1. 0. ]

[0.27272727 0.625 ]

[0. 1. ]

[1. 0.75 ]]

Publicación traducida automáticamente

Artículo escrito por hemavatisabu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *