Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

SQL para ciencia de datos, Unidad 7 — SQL para preparación de datos, 7.1 — Limpieza de datos en SQL ·

Valores nulos

Valores nulos: Limpieza de datos en SQL

Introducción

En la ciencia de datos, los valores nulos son una de las mayores desafiantes a los que nos enfrentamos. Los valores nulos representan la falta de información y pueden distorsionar análisis y modelos de machine learning (ML). En este artículo, exploraremos cómo manejar eficazmente los valores nulos en SQL para preparar nuestros datos analíticos.

Explicación principal con ejemplos

La limpieza de valores nulos es crucial porque estos pueden causar errores en el análisis y afectar la precisión del modelo. En SQL, podemos utilizar diversas funciones y técnicas para manejar los valores nulos.

Ejemplo: Utilizando IS NULL e IS NOT NULL

-- Consulta que filtra registros con valores nulos en una columna específica
SELECT * 
FROM datos
WHERE columna IS NULL;

-- Consulta que selecciona solo registros donde la columna no es null
SELECT * 
FROM datos
WHERE columna IS NOT NULL;

Ejemplo: Utilizando COALESCE para reemplazar valores nulos

-- Reemplaza los valores nulos en 'edad' con 0
UPDATE personas SET edad = COALESCE(edad, 0) WHERE edad IS NULL;

-- Inserta un nuevo registro con valores por defecto si algún campo está vacío
INSERT INTO registros (campo1, campo2, campo3)
VALUES ('valor1', COALESCE('valor2', 'default2'), COALESCE('valor3', 'default3'));

Ejemplo: Usando AVG para reemplazar valores nulos

-- Reemplaza los valores nulos en una columna con el promedio de la misma columna
UPDATE datos SET columna = AVG(columna) FROM (SELECT AVG(columna) AS avg_columna FROM datos WHERE columna IS NOT NULL) t;

Errores típicos / trampas

  1. Confusión entre NULL y ' ': A menudo se confunde el valor nulo con un espacio en blanco o una cadena vacía. En SQL, NULL es un valor de ausencia de datos, mientras que un espacio en blanco es un string.
  1. Limpieza superficial: Sólo filtrar los valores nulos sin considerar su impacto en la calidad del modelo puede llevar a errores significativos. Es necesario analizar cuidadosamente por qué ciertos campos tienen valores nulos y cómo afecta esto a la precisión de las predicciones.
  1. No reemplazar con ceros: Reemplazar los valores nulos simplemente con ceros puede distorsionar el análisis, especialmente si se trata de datos numéricos que deberían ser cero naturalmente (como la edad).

Checklist accionable

  1. Identifica todas las columnas donde existen valores nulos.
  2. Analiza por qué ciertos campos tienen valores nulos y su impacto en los resultados del modelo.
  3. Decide si reemplazar los valores nulos es necesario o si se debería omitir esa columna.
  4. Reemplaza los valores nulos con el promedio, la mediana o un valor por defecto según sea apropiado.
  5. Valida que la limpieza de datos no altere significativamente las características importantes del dataset.
  6. Documenta todos los cambios realizados en el proceso de limpieza de datos.

Cierre con "Siguientes pasos"

Siguientes pasos

  1. Revisión exhaustiva: Verifica que la limpieza de valores nulos no haya afectado a otros aspectos del dataset, como relaciones entre tablas.
  2. Pruebas en mini-proyecto: Aplica las técnicas aprendidas en un mini-proyecto real para asegurarte de su efectividad.
  3. Documentación: Documenta todos los pasos realizados en el proceso de limpieza de datos para futuras referencias.

La gestión adecuada de valores nulos es fundamental para garantizar la calidad y precisión del análisis de datos y los modelos de ML. Siguiendo estos consejos, podrás preparar tus datasets de manera efectiva y mejorar significativamente tus resultados en ciencia de datos.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).