Preparar los datos

Si bien el curso Preparación de datos e ingeniería de atributos para el aprendizaje automático abarca la preparación de datos en general, se analiza la preparación específica para el agrupamiento en clústeres.

En el agrupamiento en clústeres, calculas la similitud entre dos ejemplos mediante la combinación de todos los datos de atributos de esos ejemplos en un valor numérico. La combinación de datos de atributos requiere que los datos tengan la misma escala. En esta sección, se analizan la normalización, la transformación y la creación de cuantiles, y se analiza por qué los cuantiles son la mejor opción predeterminada para transformar cualquier distribución de datos. Tener una opción predeterminada te permite transformar tus datos sin inspeccionar la distribución de los datos.

Normalizar datos

Puedes transformar datos de varios atributos a la misma escala si normalizas los datos. En particular, la normalización es adecuada para procesar la distribución de datos más común, la distribución gaussiana. En comparación con los cuantiles, la normalización requiere muchos menos datos para calcular. Para normalizar los datos, calcula su puntuación z de la siguiente manera:

\[x'=(x-\mu)/\sigma\\ \begin{align*} \text{where:}\quad \mu &= \text{mean}\\ \sigma &= \text{standard deviation}\\ \end{align*} \]

Veamos la similitud entre los ejemplos con y sin normalización. En la figura 1, ves que el rojo parece ser más similar al azul que el amarillo. Sin embargo, las funciones de los ejes x e y no tienen la misma escala. Por lo tanto, la similitud observada podría ser un artefacto de datos sin escalar. Después de la normalización con la puntuación z, todos los atributos tienen la misma escala. El rojo es más similar al amarillo. Por lo tanto, después de normalizar los datos, puedes calcular la similitud de forma más precisa.

Dos gráficos que comparan los datos de los atributos antes y después de la normalización
Figura 1: comparación de los datos de los atributos antes y después de la normalización

En resumen, aplica la normalización cuando se cumpla alguna de las siguientes condiciones:

  • Tus datos tienen una distribución gaussiana.
  • Tu conjunto de datos no tiene datos suficientes para crear cuantiles.

Usa la transformación Log

A veces, un conjunto de datos cumple con una distribución de ley de energía que agrupa datos en el extremo inferior. En la figura 2, el rojo es más cercano al amarillo que al azul.

Un gráfico de barras con la mayoría de los datos en el extremo inferior
Figura 2: Una distribución de ley de energía.

Procesar una distribución de ley de potencia mediante una transformación de registro En la Figura 3, la transformación de registro crea una distribución más suave, y el rojo es más cercano al azul que al amarillo.

Un gráfico que muestra una distribución normal (gaussiana)
Figura 3: Una distribución normal (gaussiana).

Usa cuantiles

Las transformaciones de normalización y registro abordan distribuciones de datos específicas. ¿Qué sucede si los datos no cumplen con una distribución gaussiana o de ley? ¿Hay algún enfoque general que se aplique a cualquier distribución de datos?

Intentemos realizar un procesamiento previo de esta distribución.

Un grafo que muestra una distribución de datos antes de cualquier procesamiento previo
Figura 4: Una distribución no categorizable antes de cualquier preprocesamiento.

De manera intuitiva, si los dos ejemplos tienen solo unos pocos ejemplos, entonces estos dos ejemplos son similares, independientemente de sus valores. Por el contrario, si los dos ejemplos tienen muchos ejemplos, los dos ejemplos son menos similares. Por lo tanto, la similitud entre dos ejemplos disminuye a medida que aumenta la cantidad de ejemplos entre ellos.

La normalización de los datos simplemente reproduce la distribución de datos porque la normalización es una transformación lineal. Aplicar una transformación de registro no refleja tu intuición sobre cómo funciona la similitud, como se muestra en la Figura 5 a continuación.

Un grafo que muestra la distribución de datos después de una transformación de registro
Figura 5: La distribución que sigue a una transformación de registro.

En cambio, divide los datos en intervalos en los que cada intervalo contenga la misma cantidad de ejemplos. Estos límites de intervalos se denominan cuantiles.

Convierte tus datos en cuantiles mediante los siguientes pasos:

  1. Decide la cantidad de intervalos.
  2. Define intervalos de modo que cada intervalo tenga la misma cantidad de ejemplos.
  3. Reemplaza cada ejemplo por el índice del intervalo en el que se encuentra.
  4. Ajustar los índices al mismo rango que otros datos de atributos mediante el escalamiento de los valores del índice a [0,1].
Un gráfico que muestra los datos después de la conversión en cuantiles. La línea representa 20 intervalos.]
Figura 6: La distribución después de la conversión en cuantiles.

Después de convertir los datos en cuantiles, la similitud entre dos ejemplos es inversamente proporcional a la cantidad de ejemplos entre esos dos ejemplos. O, matemáticamente, donde "x" es cualquier ejemplo en el conjunto de datos:

  • \(sim(A,B) \approx 1 − | \text{prob}[x > A] − \text{prob}[x > B] |\)
  • \(sim(A,B) \approx 1 − | \text{quantile}(A) − \text{quantile}(B) |\)

Los cuantiles son la mejor opción predeterminada para transformar datos. Sin embargo, para crear cuantiles que sean indicadores confiables de la distribución de datos subyacente, necesitas muchos datos. Como regla general, para crear \(n\) cuantiles, debes tener al menos \(10n\) ejemplos. Si no tienes datos suficientes, continúa con la normalización.

Comprueba tu comprensión

En las siguientes preguntas, supongamos que tienes datos suficientes para crear cuantiles.

Pregunta uno

Un gráfico que muestra tres distribuciones de datos
¿Cómo procesarías esta distribución de datos?
Crear cuantiles.
Correcto. Debido a que la distribución no coincide con una distribución de datos estándar, debes recurrir a la creación de cuantiles.
Normalizar.
Por lo general, se normalizan los datos en las siguientes situaciones:
  • La distribución de datos es gaussiana.
  • Tienes estadísticas sobre lo que representan los datos, lo que te indica que los datos no deben transformarse de forma no lineal. Como resultado, evitas los cuantiles y eliges la normalización.
Ninguno de los dos es válido en este caso. La distribución de datos no es gaussiana porque no es simétrica. Y no tienes estadísticas sobre lo que estos valores representan en el mundo real.
Transformación log.
No es la mejor opción, ya que esta no es una distribución perfecta de las leyes.

Pregunta dos

Un gráfico que muestra tres distribuciones de datos
¿Cómo procesarías esta distribución de datos?
Normalizar.
Correcto. Esta es una distribución gaussiana.
Crear cuantiles.
Incorrecto. Como esta es una distribución gaussiana, la transformación preferida es la normalización.
Transformación log.
Incorrecto. Aplicar una transformación de registros solo a distribuciones de leyes

Faltan datos

Si tu conjunto de datos tiene ejemplos con valores faltantes para un atributo determinado, pero esos ejemplos no ocurren con frecuencia, puedes quitarlos. Si estos ejemplos ocurren con frecuencia, tenemos la opción de quitar este atributo por completo o de predecir los valores faltantes de otros ejemplos mediante el uso de un modelo de aprendizaje automático. Por ejemplo, puedes inferir datos numéricos faltantes mediante un modelo de regresión entrenado con datos de atributos existentes.