Cómo crear datos sintéticos.  Pase de la nada a un marco de datos completo… |  de Kurt Klingensmith |  febrero de 2024

Pase de nada a un marco de datos completo con Python

Foto por Josué Sortino en desempaquetar.

Después de enviar un artículo reciente al equipo editorial de Towards Data Science, recibí un mensaje con una pregunta simple: ¿los conjuntos de datos tienen licencia para uso comercial? Fue una gran pregunta: los conjuntos de datos de mi borrador provienen de nacido en el maruna biblioteca Python común que viene completa con 17 conjuntos de datos de muestra [1]. Los conjuntos de datos ciertamente parecían de código abierto y, efectivamente, muchos tenían licencias fácilmente detectables que autorizaban su uso comercial. Desafortunadamente para mí, elegí uno de los pocos conjuntos de datos para los que no pude encontrar una licencia. Pero en lugar de cambiar a un conjunto de datos de Seaborn diferente, decidí crear mis propios datos sintéticos.

¿Qué son los datos sintéticos?

Kim Martineau de IBM define los datos sintéticos como “información que se genera en una computadora para aumentar o reemplazar datos reales para mejorar los modelos de IA, proteger datos confidenciales y mitigar los sesgos”. [2].

Los datos sintéticos pueden mirar como información de un evento del mundo real, pero no lo es. Esto evita problemas de licencia, oculta datos de propiedad y protege la información personal.

Los datos sintéticos se diferencian de los datos anonimizados o enmascarados, que toman datos reales de eventos reales y modifican ciertos campos para que los datos no sean atribucionales. Si busca nombres anónimos en los datos, puede leer un instrucciones sobre la anonimización de nombres aquí.

Los datos sintéticos no necesitan ser perfectos. En mi artículo anterior caso de uso, estaba escribiendo una guía sobre cómo usar la función Python GroupBy(). Todo lo que necesitaba era un conjunto de datos que tuviera datos numéricos, datos categóricos y un dominio (en este caso, puntuaciones y calificaciones de los exámenes de los estudiantes) comprensible para el lector para ayudarme a transmitir el mensaje. Basado en el trabajo de ese artículo, a continuación proporcionaré una guía sobre cómo crear su propio conjunto de datos sintéticos.

Código:

El cuaderno Jupyter con el código Python completo utilizado en este tutorial es disponible en la página de github vinculada. ¡Descarga o clona el repositorio para seguirlo!

El código requiere las siguientes bibliotecas:

# Data Handling
import pandas as pd
import numpy as np

# Data visualization
import plotly.express as px

# Anonymizer:
from faker import Faker