Unidad 2 / 11

Recopilación de datos y comprensión de las fuentes: esquema, muestreo, calidad y conciencia de fugas

Ganancias:

  • Capacidad para reconocer diferentes fuentes de datos (base de datos, API, archivos, web scraping) y los inconvenientes de cada una y comprender el esquema correctamente.
  • Capacidad para realizar muestreos repetibles evaluando si la muestra representa la población y el sesgo de selección.
  • Capacidad para eliminar la fuga de datos en la etapa de recopilación y observar los límites legales/éticos al hacer la pregunta "¿Los tendré en el momento de la predicción" en cada columna?

Cada análisis es tan bueno como la calidad de los datos que recopila. Incluso el modelo más avanzado del mundo producirá resultados poco fiables si funciona con datos recopilados incorrectamente, muestreados de forma sesgada o que contienen información sobre el futuro. En informática, este principio se resume como "basura que entra, basura que sale" (basura que entra, basura que sale). En esta unidad, cubriremos la fase de recopilación de datos: comprender la fuente, tomar muestras, hacer preguntas sobre la calidad y estar alerta al riesgo de fuga de datos desde el primer día. La inteligencia artificial es una poderosa ayuda en esta etapa; Escribe consultas SQL, resume documentos API, redacta contratos de datos. Pero es el ser humano quien decide qué datos recopila y si esos datos le representan.

Conociendo las fuentes de datos

Los datos provienen de diferentes lugares y cada fuente tiene sus propios inconvenientes. La base de datos (datos estructurados almacenados en tablas, generalmente consultados con SQL) es la fuente más común; Es fiable, pero es necesario comprender bien su esquema. La API (interfaz de programación de aplicaciones) proporciona datos en vivo, pero conlleva el riesgo de límites de velocidad y cambios de formato. Los archivos (CSV, Excel, JSON) son flexibles pero propensos a tener inconsistencias de formato. El web scraping es poderoso, pero tiene límites legales y éticos; No todos los sitios se pueden eliminar.

Atención: Para el web scraping y la recopilación automática de datos, cumpla con los términos de uso del sitio, el archivo robots.txt y KVKK/GDPR. La recopilación de datos no autorizada genera responsabilidad legal. En el contexto de la seguridad de la información, utilizar herramientas de recopilación de datos solo en sistemas para los cuales esté autorizado y con fines de defensa/análisis; Está prohibido el acceso no autorizado o el scraping.

Comprender el esquema: familiarizarse con los datos

Antes de recopilar un conjunto de datos, debe comprender su esquema (los nombres de las columnas, sus tipos de datos, sus significados y sus relaciones entre sí). La IA es muy útil aquí para crear un "diccionario de datos", una tabla que explica lo que significa cada columna. Pero las explicaciones que produce la IA son predicciones; Confirme el verdadero significado de cada columna con el equipo que produjo los datos. Por ejemplo, una columna denominada "estado" podría contener 0/1/2; Sólo el equipo de origen sabe si están "pendientes/aprobados/cancelados" o algo más.

La siguiente tabla resume los tipos de recursos básicos y las precauciones:

Fuente

punto fuerte

trampa

Cómo ayuda la IA

base de datos SQL

Estructural, confiable

UNIONES complejas

Escribe un borrador de consulta.

API

datos en vivo

Límite de velocidad, cambio de forma.

Resúmenes de documentos, código de extracción

CSV/Excel

Flexible, rápido

Inconsistencia de formato

Leer/analizar código

raspado web

Amplio alcance

Límite legal/ético

Análisis del borrador (dentro de la autoridad)

Datos de registro/evento

detallado

gran volumen

Consulta de filtrado

Ilustración: ¿la parte representa el todo?

La mayoría de las veces se trabaja con una muestra (un subconjunto seleccionado de la población) en lugar de con los datos completos. La pregunta crítica es: ¿esta muestra representa a la población? El sesgo de selección es la trampa más común. Por ejemplo, si solo toma muestras de usuarios de la aplicación móvil, no verá usuarios web y sus resultados serán engañosos. El muestreo aleatorio (cada registro tiene las mismas posibilidades de ser seleccionado) es más seguro en la mayoría de los casos; pero en los datos de series de tiempo, la división se realiza cronológicamente y no aleatoriamente (lo veremos en las Unidades 7 y 10).

Concientización sobre fugas desde el primer día

La fuga de datos es la fuente de la mayoría de los desastres y suele surgir durante la fase de recopilación de datos. Ejemplo: al predecir "se canceló", si agrega la columna "fecha de cancelación" a los datos, el modelo mira hacia el futuro. Durante la fase de recopilación, haga una pregunta para cada columna: "¿Tendré realmente esta información en el momento de hacer la predicción?" Si la respuesta es no, esa columna tiene una filtración. Cubriremos este tema en profundidad en la Unidad 10; Pero la concienciación debería empezar desde el primer día.

tres mini casos

Caso 1: El problema de la representación. Un banco recopiló datos únicamente sobre préstamos aprobados para su modelo de riesgo crediticio (18.500 registros). Los rechazos no estaban en los datos. El modelo estaba equivocado en el mundo real porque nunca vio cómo se comportarían los rechazados. Lección: la muestra debe ser representativa de toda la población a partir de la cual estás tomando tu decisión.

Caso 2: cambio de forma silencioso. Un equipo extraía datos de precios de una API todos los días. Un día, el proveedor de API cambió la moneda de USD a EUR, pero el nombre de dominio siguió siendo el mismo. Los datos se recogieron en la unidad equivocada durante 12 días; 3.200 líneas estaban corruptas. Lección: Verifique periódicamente la coherencia del volumen y el formato en los datos de API.

Caso 3: Fuga temprana. Un analista incluyó la columna "motivo del cierre de la cuenta" al recopilar datos para una estimación de "deserción". Esta columna se llenó sólo después de que el cliente se fue. El modelo arrojó una precisión del 97% en el conjunto de prueba; No funcionó en producción porque esa columna estaba vacía en el momento de la predicción. Lección: haga en cada columna la pregunta "¿lo tengo en el momento de la predicción?"

Cuatro plantillas copiables

1) Extracción del diccionario de datos:

Su función: asistente científico de datos. A continuación se muestran los nombres de las columnas y los valores de muestra (anónimos) de una tabla. Para cada columna, enumere su significado estimado, tipo de datos y riesgos potenciales de calidad en una tabla. Marque las columnas de las que no esté seguro como "se requiere confirmación"; creación de significado. Columnas: [pegar aquí]

2) Código de muestreo (aleatorio, repetible):

Tengo pandas df. Escriba código que extraiga una muestra aleatoria representativa del 5% de 200.000 filas. Utilice random_state=42 (para reproducibilidad). Agregue código para verificar que la distribución de clases de la muestra sea similar a la población.

3) Pregunta sobre escaneo de fugas:

Te daré esta lista de columnas. Mi objetivo es predecir "¿está cancelado" (0/1). Para cada columna, evalúe si realmente la tendré en el momento de la predicción y márquela como "segura/sospechosa/con fugas". Escribe tu razonamiento en una oración. Columnas: [lista]

4) Borrador de consulta de extracción SQL:

Tengo tablas de "pedidos" y "clientes" en PostgreSQL. Escribe una consulta JOIN que combine los pedidos de los últimos 90 días con la ciudad del cliente y devuelva el monto total y el número de pedidos por ciudad. Explique el filtro de fechas y cómo se manejan las ciudades NULL. Ejecutaré la consulta y la verificaré.

Aviso débil / Aviso fuerte

Aviso débil:

Tráeme una buena muestra de datos de esta base de datos.

"Bueno" es ambiguo; Qué cuadro, qué época, qué tamaño, qué propósito no está claro. La IA sólo producirá una consulta genérica y posiblemente incorrecta.

Potente mensaje:

Su función: asistente de SQL. Tengo una tabla de "transacciones": ID de columnas, ID_cliente, fecha (marca de tiempo), monto (numérico), canal (texto: 'web'/'móvil'). Tarea: escribir una consulta repetible (determinista con ORDER BY) que devuelva 10 000 filas representativas de cada canal para el año 2024. Propósito: análisis comparativo de canales. Enumere los supuestos de su consulta.

Aquí la tabla, el propósito, el tamaño y la repetibilidad son claros.

Errores comunes

  • No cuestionar la representatividad de la muestra. Los datos de fácil acceso no son datos precisos; El sesgo de selección distorsiona el resultado.
  • Adaptación de los significados de las columnas a la IA. El equipo fuente conoce el significado; No utilices la predicción de la IA sin confirmarla.
  • No realizar seguimiento del cambio de formato/unidad de API. El cambio silencioso recopila datos corruptos durante días.
  • Ignorando la fuga en la etapa de recolección. Si la pregunta "¿Lo tengo en el momento de la predicción" no se formula temprano, el modelo dará un éxito falso?
  • Recopilar datos no autorizados o ilegales. La violación de robots.txt, términos de uso y KVKK es un riesgo grave.
Consejo: mantenga una “tarjeta de datos” de una página para cada nueva fuente de datos: fuente, fecha de extracción, número de filas, límites conocidos y columnas con riesgo de fuga. Esta tarjeta guarda la pregunta "¿qué eran estos datos" y la reproducibilidad meses después?

En resumen

La calidad del análisis está limitada por la calidad de los datos recopilados. Conozca bien la fuente (base de datos, API, archivo, scrape) y el esquema; asegurarse de que la muestra sea representativa de la población; Elimine las fugas desde el primer día preguntando en cada columna "¿las tengo en el momento de la predicción?" La IA es un gran acelerador para el trabajo de consultas y documentos, pero los humanos deciden qué datos recopilar y su representatividad. Los límites de autoridad, ley y confidencialidad siempre son lo primero.

Tarea de aplicación

Elija una fuente de datos (de su propia empresa o hipotética). Obtenga un borrador de un diccionario de datos de AI con la plantilla de “extracción de diccionario de datos” anterior; Luego evalúe manualmente cada columna para ver si se ha filtrado. Intente encontrar al menos una columna sospechosa o con fugas y escriba en una oración por qué es riesgoso.

lista de verificación

  • [] ¿He confirmado la fuente de datos y el esquema con el equipo de origen?
  • [ ] ¿He comprobado que la muestra es representativa de la población?
  • [ ] ¿Le he hecho a cada columna la pregunta "¿lo tendré en el momento del presupuesto?"
  • [ ] ¿He hecho que el muestreo sea repetible (semilla fija)?
  • [ ] ¿He verificado los límites de recopilación legales/éticos (autoridad, robots.txt, KVKK)?