Escala de datos en Python

Cuando trabajamos con datos que tienen diferentes valores y unidades de medida, puede ser complicado compararlos directamente. ¿Cómo comparamos kilogramos con metros, o altitud con tiempo? La solución a este problema es la escala de datos, que nos permite transformar los valores originales en nuevos valores que sean más fáciles de comparar.

Como en la lección anterior de regresión múltiple, tenemos un conjunto de datos con tres columnas: Presupuesto (EUR), Clics y Conversiones. Echemos un vistazo a una parte de estos datos:


Presupuesto (EUR)ClicsConversiones
500012000450
35008000320
600015000580
450010000390
550011000420
42009200350
680016000620
32007500290
490010500400
38008200315
610014500560
43009500365
470011000420
690015700605
33007600295
500010800410
36008200315
520012600480
44008400375
560014400430
61009000565
41007500345
34009000290
50007500435
480011300410
670010700590
350015200310
53008000445
510011600475
370012400320
59008400550

Podrás comprobar que la columna de «Presupuesto (EUR)» tiene valores como 5000 y la columna de «Clics» tiene valores como 12000. Estos valores son difíciles de comparar directamente debido a sus diferencias en magnitud.


¿Qué es la Estandarización?

Para resolver este problema, podemos utilizar un método llamado estandarización, que nos permite transformar los datos para que tengan una media de 0 y una desviación estándar de 1. Esto hace que los datos sean más comparables. La fórmula de estandarización es:

z = (x - u) / s

Donde:

  • z es el nuevo valor escalado.
  • x es el valor original.
  • u es la media de la columna.
  • s es la desviación estándar de la columna.

Ejemplo de Estandarización

Supongamos que queremos estandarizar el valor 5000 en la columna de «Presupuesto (EUR)«. Primero, calculamos la media y la desviación estándar de esa columna. Supongamos que la media (u) es 4500 y la desviación estándar (s) es 1000. Aplicando la fórmula:

z = (5000 - 4500) / 1000 = 0.5

Entonces, el valor estandarizado de 5000 es 0.5.

Del mismo modo, si queremos estandarizar el valor 12000 en la columna de «Clics«, aplicamos la fórmula:

z = (12000 - media_de_clics) / desviacion_estandar_de_clics

Estandarización en Python

No es necesario realizar este cálculo manualmente para cada valor. En Python, puedes utilizar la librería scikit-learn para realizar la estandarización de manera eficiente. Aquí hay un ejemplo de cómo hacerlo:

# Importar la clase StandardScaler desde sklearn.preprocessing
from sklearn.preprocessing import StandardScaler

# Crear un objeto Scaler
scaler = StandardScaler()

# Ajustar el objeto Scaler a tus datos
scaler.fit(datos)

# Transformar tus datos usando el Scaler
datos_estandarizados = scaler.transform(datos)

Cuando utilices estos datos estandarizados para entrenar modelos de aprendizaje automático, también deberás aplicar la misma transformación a los datos de entrada cuando realices predicciones.

La estandarización de datos es una técnica importante para comparar y trabajar con conjuntos de datos que tienen diferentes escalas. Python, con su librería scikit-learn, facilita la aplicación de esta técnica y mejora la capacidad de tus modelos para aprender y hacer predicciones precisas.