Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende StandardScaler, MinMaxScaler, MaxAbsScaler | Preprocesamiento de Datos con Scikit-learn
Introducción al ML con Scikit-learn

bookStandardScaler, MinMaxScaler, MaxAbsScaler

Existen tres enfoques populares para escalar los datos:

  • MinMaxScaler: escala las características a un rango de [0, 1];
  • MaxAbsScaler: escala las características de modo que el valor absoluto máximo sea 1 (por lo que los datos estarán garantizados en un rango de [-1, 1]);
  • StandardScaler: estandariza las características haciendo que la media sea igual a 0 y la varianza igual a 1.

Para ilustrar cómo funcionan los escaladores, considere las características 'culmen_depth_mm' y 'body_mass_g' del conjunto de datos de pingüinos. Estas características pueden graficarse para observar sus escalas.

MinMaxScaler

El MinMaxScaler funciona restando el valor mínimo (para que los valores comiencen desde cero) y luego dividiendo por (x_max - x_min) para que sea menor o igual a 1.

Aquí tienes el gif que muestra cómo funciona MinMaxScaler:

MaxAbsScaler

El MaxAbsScaler funciona encontrando el valor absoluto máximo y dividiendo cada valor por este. Esto asegura que el valor absoluto máximo sea 1.

StandardScaler

La idea de StandardScaler proviene de la estadística. Funciona restando la media (para centrar en torno a cero) y dividiendo por la desviación estándar (para que la varianza sea igual a 1).

Note
Nota

Si no comprende qué son la media, la desviación estándar y la varianza, puede consultar nuestro curso Aprendiendo Estadística con Python. Sin embargo, este conocimiento no es obligatorio para continuar.

Aquí hay un ejemplo de codificación con MinMaxScaler. Otros escaladores se aplican de la misma manera.

12345678910
import pandas as pd from sklearn.preprocessing import MinMaxScaler df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_imputed_encoded.csv') # Assign X,y variables X, y = df.drop('species', axis=1), df['species'] # Initialize a MinMaxScaler object and transform the X minmax = MinMaxScaler() X = minmax.fit_transform(X) print(X)
copy

La salida no es la más estética ya que los escaladores transforman los datos en un array de numpy, pero con pipelines, esto no será un problema.

Note
Nota

Solo se deben escalar las columnas de características (la variable X). No es necesario escalar la variable objetivo, ya que esto complicaría el proceso de transformación inversa.

¿Qué escalador usar?

Un StandardScaler es más sensible a los valores atípicos, por lo que es menos adecuado como escalador predeterminado. Si prefieres una alternativa a StandardScaler, la elección entre MinMaxScaler y MaxAbsScaler depende de la preferencia personal, ya sea escalar los datos al rango [0,1] con MinMaxScaler o a [-1,1] con MaxAbsScaler.

1. ¿Cuál es el propósito principal de utilizar MinMaxScaler en el preprocesamiento de datos?

2. ¿Por qué podría reconsiderar el uso de StandardScaler para su conjunto de datos?

question mark

¿Cuál es el propósito principal de utilizar MinMaxScaler en el preprocesamiento de datos?

Select the correct answer

question mark

¿Por qué podría reconsiderar el uso de StandardScaler para su conjunto de datos?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 10

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain when to use each scaler in practice?

What are the main differences between MinMaxScaler and MaxAbsScaler?

Are there any drawbacks to using StandardScaler with outliers?

Awesome!

Completion rate improved to 3.13

bookStandardScaler, MinMaxScaler, MaxAbsScaler

Desliza para mostrar el menú

Existen tres enfoques populares para escalar los datos:

  • MinMaxScaler: escala las características a un rango de [0, 1];
  • MaxAbsScaler: escala las características de modo que el valor absoluto máximo sea 1 (por lo que los datos estarán garantizados en un rango de [-1, 1]);
  • StandardScaler: estandariza las características haciendo que la media sea igual a 0 y la varianza igual a 1.

Para ilustrar cómo funcionan los escaladores, considere las características 'culmen_depth_mm' y 'body_mass_g' del conjunto de datos de pingüinos. Estas características pueden graficarse para observar sus escalas.

MinMaxScaler

El MinMaxScaler funciona restando el valor mínimo (para que los valores comiencen desde cero) y luego dividiendo por (x_max - x_min) para que sea menor o igual a 1.

Aquí tienes el gif que muestra cómo funciona MinMaxScaler:

MaxAbsScaler

El MaxAbsScaler funciona encontrando el valor absoluto máximo y dividiendo cada valor por este. Esto asegura que el valor absoluto máximo sea 1.

StandardScaler

La idea de StandardScaler proviene de la estadística. Funciona restando la media (para centrar en torno a cero) y dividiendo por la desviación estándar (para que la varianza sea igual a 1).

Note
Nota

Si no comprende qué son la media, la desviación estándar y la varianza, puede consultar nuestro curso Aprendiendo Estadística con Python. Sin embargo, este conocimiento no es obligatorio para continuar.

Aquí hay un ejemplo de codificación con MinMaxScaler. Otros escaladores se aplican de la misma manera.

12345678910
import pandas as pd from sklearn.preprocessing import MinMaxScaler df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_imputed_encoded.csv') # Assign X,y variables X, y = df.drop('species', axis=1), df['species'] # Initialize a MinMaxScaler object and transform the X minmax = MinMaxScaler() X = minmax.fit_transform(X) print(X)
copy

La salida no es la más estética ya que los escaladores transforman los datos en un array de numpy, pero con pipelines, esto no será un problema.

Note
Nota

Solo se deben escalar las columnas de características (la variable X). No es necesario escalar la variable objetivo, ya que esto complicaría el proceso de transformación inversa.

¿Qué escalador usar?

Un StandardScaler es más sensible a los valores atípicos, por lo que es menos adecuado como escalador predeterminado. Si prefieres una alternativa a StandardScaler, la elección entre MinMaxScaler y MaxAbsScaler depende de la preferencia personal, ya sea escalar los datos al rango [0,1] con MinMaxScaler o a [-1,1] con MaxAbsScaler.

1. ¿Cuál es el propósito principal de utilizar MinMaxScaler en el preprocesamiento de datos?

2. ¿Por qué podría reconsiderar el uso de StandardScaler para su conjunto de datos?

question mark

¿Cuál es el propósito principal de utilizar MinMaxScaler en el preprocesamiento de datos?

Select the correct answer

question mark

¿Por qué podría reconsiderar el uso de StandardScaler para su conjunto de datos?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 10
some-alt