Limpieza de datos
¿En qué consiste?
La limpieza de datos es un conjunto de procedimientos que permiten identificar y corregir los errores e incoherencias que pueden presentar los datos para mejorar su calidad, a fin de garantizar que sean precisos, completos, coherentes y utilizables (1).
Se puede decir que la limpieza de datos es una fase crítica en el desarrollo de cualquier solución basada en código, especialmente necesaria en el campo de la inteligencia artificial (IA), dado que en ella importa tanto la cantidad como la calidad. Si la cantidad no es suficiente, los modelos no alcanzan el nivel crítico de rendimiento para ser funcionales, pero si los datos son de mala calidad, el resultado es necesariamente también de mala calidad.
Fruto del interés que tiene la limpieza de datos es la sistematización de la que ha sido objeto, derivando de esta la identificación de seis fases en su desarrollo:
1. Inspección: Antes de nada, observa si hay columnas con nombres extraños, fechas que parecen texto, números imposibles...2. Gestión de los valores faltantes: Los famosos códigos NaN ante los que caben tres opciones: eliminarlos (si son pocos), imputarlos (usando la media o la mediana) o marcarlos como "Desconocido".
3. Tratamiento de valores atípicos: Identificar outliers: ¿ese dato (900 archivos en un expediente) es un error de escritura o un valor extraordinario?. Según la respuesta y el objetivo que se persiga con el análisis previsto se decide mantenerlo o eliminarlo.
4. Estandarización: Unificar formatos en expresiones como "madrid", "MADRID" y "Madrid ".
5. Deduplicación: Los registros repetidos (duplicados) son ruido que se debe elimínar para evitar sesgos.
6. Validación final: Si tras la limpieza, en un registro aparece una edad de -5 años es que algo no se hizo bien.
Para desarrollar todo este conjunto de actuaciones disponemos de diferentes estrategias, herramienta y enfoques.
POdemos recurrir a procedimientos manuales, basados en la inspección visual, las referencias cruzadas o las tablas dinámicas basadas en Excel o Calc.
En el extremo opuesto a lo "manual" se sitúan las alternativas basadas en la IA, con los que se prioriza la automatización del proceso por entero y que contempla diferentes opciones:
- Para el análisis de los datos originales, las herramientas de limpieza de datos con IA pueden identificar automáticamente patrones, anomalías e incoherencias y sugerir correcciones.
- Para la estandarización de los datos, las técnicas de procesamiento del lenguaje natural (PLN) pueden estandarizar texto no estructurado (el formato de direcciones, por ejemplo); los modelos de machine learning (ML) pueden identificar formatos y recomendar los que se adecúan a determinados datos, como fechas o unidades monetarias; y los generadores de expresiones regulares basados en IA permite automatizar la detección y normalización de formatos incoherentes con la naturaleza de los datos.
- Para la consolidación de duplicados, los modelos de IA basados en reglas o en estrategias aprendizaje-máquina pueden decidir la mejor opción ante la posibilidad de eliminar duplicados, atendiendo a criterios de precisión, actualización y fiabilidad.
- Para la aplicación de reglas, los modelos de IA pueden automatizar la creación y aplicación de reglas de limpieza de datos resultanres del aprendizaje (historial de correcciones pasadas) y aplicar estas reglas a nuevos conjuntos de datos. También pueden generar reglas personalizadas para aplicar en sectores o dominios específicos.
A pesar de su potencia, estos sistemas no son infalibles, no siempre están disponibles y no son necesariamente la mejor opción; de hecho presentan problemas de coste, de tratamiento confidencial de datos y de limitaciones para correr en nuestros sistemas en local.
Además simplemente podemos optar por mantener el control sobre el proceso de limpieza sin delegarlo totalmente en la IA y/o preferir alternativas basadas en lenguajes como Python o R. Si optamos por Python tenemos a nuestra disposición herramientas (bibliotecas) como las siguientes:
1. Pandas: Herramienta básica que permite cargar datos, filtrarlos y manejar valores nulos.
2. NumPy: Potencia matemática ideal para transformaciones numéricas complejas y para el manejo eficiente de grandes matrices.
3. Scikit-learn: Herramienta pensada para machine learning (ML) cuyo módulo preprocessing permite normalizar escalas y codificar variables categóricas con gran precisión y fiabilidad.
4. Missingno: Visualización de datos vacíos que permite vilualizar dónde están los "huecos" en tu conjunto de datos (dataset)
Nota (1)
Fuentes de información utilizadas: artículo www.ibm.com e información resultante de la consulta a IA Gemini (versión gratuíta básica)