Ganancias:
- Capacidad para distinguir la causa de los valores faltantes (aleatorios, sistemáticos, significativos) y elegir la estrategia adecuada y calcular el valor de relleno solo con el entrenamiento.
- Capacidad para examinar valores atípicos antes de eliminarlos y distinguir entre un error de datos y un evento verdaderamente raro
- Capacidad para evitar pérdidas silenciosas mediante el seguimiento del impacto de cada paso en el número de líneas/espacios en blanco y, al mismo tiempo, llevar las inconsistencias de tipo y formato al estándar.
Aproximadamente entre el 60 y el 80 por ciento del tiempo de un científico de datos se dedica a la limpieza; En la industria, esto se llama medio en broma "data wrangling" (disputa de datos o limpieza de datos). Porque los datos del mundo real casi nunca están listos para el análisis: las fechas están en formatos mixtos, los números se almacenan como texto, algunas celdas están en blanco, un cliente aparece tres veces en la misma tabla con dos grafías diferentes. En esta unidad cubriremos tres aspectos básicos de la limpieza: valores faltantes, valores atípicos y conversión de tipo/formato. La inteligencia artificial es un asistente extraordinariamente rápido en esta labor; Pero eres tú quien decide qué limpiar y cómo, porque cada elección de limpieza cambia el análisis.
La regla de oro de la limpieza: cada cambio es una decisión
Eliminar una celda, completar un valor faltante con la media, recortar un valor atípico... ninguna de estas son operaciones "neutrales". Cada uno cambia los datos y afecta el resultado. Entonces, la regla de oro de la limpieza: escribir cada cambio en el código, anotar el fundamento, nunca sobrescribir los datos originales. La IA le brinda un código de limpieza rápida, pero es su responsabilidad comprender qué hace ese código; No lo ejecute sin ver cuántas líneas desaparecen cuando dice "eliminar líneas vacías".
Precaución: nunca modifique los datos originales sin procesar. Escriba la versión limpia en un archivo/tabla separada. De esta manera, si detecta un error, puede volver al punto de partida y mantener la reproducibilidad.
Valores faltantes: por qué está vacío, qué hacer
Un valor faltante (que generalmente aparece como NaN - "No es un número" en pandas) ocurre cuando una celda está vacía. Pero la causa de la brecha determina la solución. Hay tres situaciones típicas. Falta aleatoria: el sensor no funcionó por un momento; Puede ser razonable completarlo. Falta sistemática: solo se solicita un campo de formulario para ciertos clientes; La brecha aquí es en realidad información. Falta importante: si la "fecha de regreso" está en blanco, el cliente no regresó; Este espacio significa 0 o "ninguno", no está lleno.
Estrategias principales:
Estrategia
¿Cuándo es apropiado?
riesgo
Eliminar fila
La tasa de faltantes es muy baja (<5%) y aleatoria
Pérdida de datos y representación.
Eliminar una columna
La mayor parte de la columna está vacía (>60%)
pérdida de información
Llenado promedio/mediano
Numérico, falta aleatoriamente
Reduce la varianza y distorsiona la distribución.
Categoría "desconocido"
Falta categórica y sistemática
Genera categorías adicionales
Predicción con modelo
Columna compleja y preciosa
Riesgo de fuga, complejidad
Punto crítico: el valor de imputación debe calcularse únicamente a partir de los datos de entrenamiento y el mismo valor debe aplicarse a los datos de prueba. Si incluye el promedio de los datos de la prueba, crea fugas (Unidad 10). A menudo se prefiere la mediana (el valor medio de los datos ordinales) a la media porque es más robusta frente a los valores atípicos que la media.
Valores atípicos: ¿error o real?
Un valor atípico puede ser una de dos cosas: un error de datos (999 en la columna de edad) o un evento real pero raro (el pedido de un cliente por valor de 2 millones de dólares). Confundir los dos es desastroso: eliminar un valor atípico verdadero y desechar información importante; Si deja de lado un error, sus promedios se verán afectados. Por lo tanto, es necesario examinar primero el valor atípico, no eliminarlo automáticamente.
Métodos de detección comunes: método IQR (rango intercuartílico; los valores que son más de 1,5 veces la diferencia entre los quintiles del 25% y el 75% de los datos se consideran valores atípicos) y puntuación z (el número de desviaciones estándar de la media que tiene un valor; generalmente un valor atípico si es mayor que 3). La IA escribe el código para estos cálculos en segundos; Pero antes de decir "eliminar", comprueba cuáles son esos valores.
Conversión de tipo y formato: fuente de error silenciosa
Uno de los mayores dolores de cabeza es la confusión sobre los tipos de datos. Si una columna de "cantidad" se almacena como texto, no puede agregarla; El programa lee incorrectamente un número con formato turco como "1.250,50" en lugar de "mil doscientos cincuenta". Las fechas ("03/01/2024" ¿día-mes o mes-día?), categorías ("Masculino"/"masculino"/"M" ¿son lo mismo?) y unidades (TL o kuruş?) silenciosamente producen resultados incorrectos. Una gran parte de la limpieza consiste en incorporar estas inconsistencias al estándar: fechas en un formato, categorías en una sola ortografía, números en una unidad.
tres mini casos
Caso 1: La trampa promedio. Un equipo completó los 320 valores que faltaban en la columna de ingresos con el promedio ($48,500). Pero las deficiencias fueron sistemáticas: se trataba del segmento de bajos ingresos que nunca había declarado ingresos. La cobertura promedio hizo a este grupo artificialmente rico y el modelo de crédito estaba equivocado. Lección: pregunte “por qué está en blanco” antes de completarlo.
Caso 2: Valor atípico que no debe eliminarse. Un analista minorista eliminó 4 pedidos grandes (1,8 millones de TL cada uno) de los datos de ventas, pensando que eran "errores". Sin embargo, se trataba de pedidos corporativos reales y representaron el 22% de la facturación total. El modelo de pronóstico posterior a la eliminación no cumplió con la demanda institucional. Lección: examine el valor atípico antes de eliminarlo.
Caso 3: Desastre del formato de fecha. En un CSV, las fechas se mezclaron en "2024-03-01" y "01.03.2024". Cuando el código escrito por YZ se analizó según el primer formato, 6.400 líneas se convirtieron en NaT como "fecha no válida" y se excluyeron silenciosamente del análisis. El analista sólo se dio cuenta de esto cuando disminuyó el número de líneas. Lección: compruebe siempre el número de líneas y espacios en blanco después de la conversión.
Cuatro plantillas copiables
1) Mapa de valores faltantes:
Tengo pandas df. Escriba un código que produzca una tabla que muestre el número y el porcentaje de faltantes (NaN) para cada columna. Luego, enumere por separado las columnas con una tasa faltante superior al 40% y aquellas con una tasa faltante inferior al 5%. Simplemente genere este código de diagnóstico, no la estrategia que sugiera; Yo tomaré la decisión.
2) Inspección de valores atípicos (no eliminación):
Escriba código que DETECTE (¡no elimine!) valores atípicos para mi columna "cantidad" utilizando el método IQR. Coloque las filas periféricas en un df separado para poder examinarlas manualmente. Imprima también el número de valores atípicos y su participación en el total.
3) Estandarización de tipo/formato:
Escriba código que estandarice las siguientes columnas: - "fecha": pueden ser formatos mixtos ("2024-03-01" y "01.03.2024"); conviértalos todos a fecha y hora, cuente los intraducibles e informe (deséchelos en silencio). - "género": "Hombre"/"masculino"/"M" -> "M", "Mujer"/"mujer"/"F" -> "K". - "cantidad": texto formateado en turco ("1.250,50") -> número decimal. Imprima cuántas filas se ven afectadas después de cada conversión.
4) Comprobar antes/después de la limpieza:
Escriba código que compare df.shape, el recuento faltante y las estadísticas resumidas (media, mediana, mínima, máxima) de las columnas seleccionadas antes y después de un paso de limpieza. Finalidad: ver qué cambia la limpieza.
Aviso débil / Aviso fuerte
Aviso débil:
Borre estos datos.
"Claro" es ambiguo; La IA no sabe qué partes faltantes deben eliminarse, qué completar, qué columna procesar y cómo. El resultado: cambios ciegos e irreversibles.
Potente mensaje:
Su función: asistente de limpieza de datos. columnas df: id_cliente (int), fecha_registro (texto en formato mixto), ingresos_tl (texto, "1200,00"), ciudad (texto, ortografía inconsistente). Reglas: - Cambiar el df original; Trabaje en la copia denominada df_clean.- Convierta ingresos_tl en número, cuente lo que no se puede traducir.- Cambie record_date a fecha y hora, informe el error.- No elimine ninguna fila sin mi aprobación; Muestre los candidatos por separado. Después de cada paso, imprima df_temiz.shape y el número que falta.
Aquí se protege la fuente, se cuenta cada transformación y la eliminación se deja en manos del ser humano.
Errores comunes
- Llenar los espacios sin preguntar "¿por qué está vacío?" Completar la falta sistemática/significativa con la media distorsiona los datos.
- Eliminar el valor atípico sin examinarlo. Descartar eventos reales pero raros destruye información importante.
- Calcular el valor de relleno de todos los datos. Incluir datos de prueba crea fugas; simplemente calcule a partir del entrenamiento.
- No comprobar el número de filas/espacios en blanco después de la conversión. Las filas que son silenciosamente NaT/NaN se excluyen del análisis.
- Sobrescribiendo los datos originales. Se pierden retorno y reproducibilidad.
Consejo: realice la limpieza con una comparación "antes y después". Imprima df.shape, el recuento faltante y las estadísticas resumidas de las columnas críticas después de cada paso. Entonces verá inmediatamente que un paso destruye inesperadamente 6000 filas.
En resumen
La limpieza es la fase de la ciencia de datos que requiere más tiempo y toma de decisiones. Cada cambio cambia los datos, por lo que cada uno es una decisión consciente. Para valores faltantes, pregunte "¿por qué está vacío?" Revise los valores atípicos antes de eliminarlos; Lleve el tipo y el formato al estándar. Calcule el valor de relleno únicamente a partir de los datos de entrenamiento, conserve el original y realice un seguimiento del impacto de cada paso contándolo. La IA es un tremendo acelerador en este negocio, pero los humanos deciden qué se limpia y por qué.
Tarea de aplicación
Tome (o cree) una tabla pequeña e inserte deliberadamente tres problemas en ella: una tupla de valor faltante, un valor atípico y un formato de fecha mixto. Solicite código de diagnóstico y estandarización de AI con las plantillas anteriores; compare el número de filas y espacios en blanco antes/después de cada paso. Intente captar al menos una "pérdida silenciosa" y observe cómo la notó.
lista de verificación
- [] ¿Conservé los datos originales sin procesar y trabajé en la copia?
- [] ¿He hecho la pregunta "¿por qué está vacío" para cada columna que falta?
- [] ¿Revisé los valores atípicos antes de eliminarlos?
- [] ¿Calculé el valor de relleno únicamente a partir de los datos de entrenamiento?
- [] ¿Estoy comprobando el número de líneas/espacios en blanco después de cada paso y eliminando la pérdida silenciosa?