Data Exploration: Entendiendo tus Datos con SQL
Antes de poder construir features, debemos entender profundamente nuestros datos. La Exploración de Datos (EDA - Exploratory Data Analysis) es el proceso de investigar datasets para resumir sus principales características, a menudo con visualizaciones y métodos estadísticos. En BigQuery, podemos realizar una gran parte de este análisis directamente con SQL.
Usaremos funciones de agregación y estadísticas para responder preguntas como:
- Distribución de los datos: ¿Cuáles son los valores mínimos, máximos, la media y la desviación estándar de las columnas numéricas? (
MIN, MAX, AVG, STDDEV).
- Frecuencia y Cardinalidad: ¿Cuántos valores distintos hay en una columna categórica? ¿Cuáles son los más comunes? (
COUNT(DISTINCT), GROUP BY, ORDER BY).
- Presencia de Nulos: ¿Qué columnas tienen valores faltantes y en qué proporción? (
COUNTIF(column IS NULL)).
- Cuantiles y Percentiles: ¿Cuál es la mediana o el percentil 95 de una métrica? (
APPROX_QUANTILES).
Feature Engineering: El Arte de Crear Señales para el Modelo
La ingeniería de características es el proceso de transformar los datos brutos en "features" (características o variables) que representan mejor el problema subyacente para el modelo de ML, mejorando así su rendimiento. A menudo, es el paso más importante y el que más impacto tiene en el éxito de un proyecto de ML.
Con SQL en BigQuery, podemos crear una amplia variedad de features:
- Binning (Agrupación): Convertir una variable numérica continua en una categórica. Por ejemplo, transformar la edad en grupos como "18-25", "26-35", etc., usando una expresión
CASE.
- Extracción de Fechas y Tiempos: De una columna de timestamp, podemos extraer el día de la semana, la hora del día o si es fin de semana, ya que pueden ser señales muy potentes. La función
EXTRACT es perfecta para esto.
- Feature Crosses: Combinar dos o más variables categóricas para capturar interacciones. Por ejemplo, combinar `país` y `dispositivo` para crear una nueva feature como `US_mobile`. La función
CONCAT es útil aquí.
- Procesamiento de Texto Simple: Crear features a partir de texto, como la longitud de un comentario o el número de palabras.