En nuestro artículo anterior «Cómo utilizar ChatGPT para realizar análisis de datos (I)» del mes pasado, exploramos algunas de las posibilidades de ChatGPT en el análisis de datos, como la generación de código y la creación de conjuntos de datos sintéticos.
En el artículo de hoy, exploraremos otras aplicaciones útiles, empezando por el análisis exploratorio de datos (AED) con gráficos y modelos estadísticos, y concluyendo con la documentación de apoyo necesaria.
Tarea 4: Aplicaciones de análisis de datos en sentido estricto
- Limpieza y preparación de datos: solicitud de métodos para tratar los datos que faltan, eliminar duplicados o convertir tipos de datos, o descripción del resultado deseado solicitando su traducción a código Python.
- Análisis exploratorio (EDA): generación de estadísticas descriptivas, gráficos y correlaciones.
- Modelización estadística y aprendizaje automático: solicitud de código para construir, evaluar y optimizar modelos.
Cómo marcar el Prompt en ChatGpt
- Describe el problema específico y los datos disponibles.
- Indica el lenguaje de programación y las librerías a utilizar (por ejemplo, Python con pandas, scikit-learn)
- puedes expresar preferencias indicando utilizar Seaborn siempre que sea posible y no Matplotlib
- puedes indicar cómo ordenar los valores en los gráficos mostrados y qué paletas de colores prefieres
- puedes indicar a qué modelos estadísticos recurrir.
- Solicita las mejores prácticas y consejos específicos para tu caso de uso.
Casos prácticos de uso
Imaginemos ahora un contexto de utilización diferente, pero mucho más frecuente, con un conjunto de datos del que sólo se conocen las generalidades. Es útil realizar una primera fase de análisis para conocer, por ejemplo, la cardinalidad, el tipo de datos y su distribución. Pero también para poner de relieve posibles errores o datos incompletos, o correlaciones o patrones que se investigarán en fases posteriores.
El primer paso comienza con el EDA. Para este ejemplo, utilizamos un conjunto de datos con las valoraciones de los dulces de Halloween y procedimos a:
- Cargar el conjunto de datos especificando cómo interpretar el contenido textual, gracias a la descripción en Kaggle, para solicitar un análisis estadístico descriptivo.
- Evaluar los resultados y solicitar otros niveles de análisis o insights.
- Exportar el código obtenido y continuar el análisis de forma comparativa y/o en profundidad.
El siguiente gif refleja el flujo de trabajo descrito en los puntos anteriores:
Cuando llega el momento de exportar el trabajo, se introduce un nuevo caso de uso para ChatGPT: redactar documentación con detalles del conjunto de datos, los pasos y cálculos necesarios y un resumen de las conclusiones derivadas del análisis realizado.
ChatGPT, aunque es una herramienta potente y versátil, no puede sustituir al analista, que está llamado a utilizar la herramienta de forma crítica para maximizar los beneficios y minimizar las fuentes de error. Por lo tanto, es esencial poder inspeccionar a nivel de código – y posiblemente intervenir para corregir – las instrucciones Python que se generan.
A continuación se muestra el punto 1 de interacción inicial.
La siguiente imagen muestra una vista general del conjunto de datos, con las principales características del archivo importado, y de nuevo la petición se traduce en código Python ejecutado, cuyos resultados se interpretan para devolver una salida textual en lenguaje natural.
Accediendo al inspector del Intérprete de Código, se puede ver cómo la petición de comprobar la presencia o ausencia de valores nulos es tratada por ChatGPT ejecutando el siguiente código.
#Dataset Overview
dataset_overview = {
'Number of Rows': candy_data.shape[0],
'Number of Columns': candy_data.shape[1],
'Column Names': candy_data.columns.tolist(),
'Missing Values': candy_data.isnull().sum().sum() # Total missing values across the dataset
}
Por ejemplo, la instrucción candy_data.isnull().sum() nos dice si hay o no valores perdidos en el conjunto de datos. De este modo, ChatGPT utiliza la funcionalidad de la biblioteca Pandas para devolver una interpretación de los resultados obtenidos. Tras recibir instrucciones sobre el contexto del análisis, la herramienta manejó correctamente la codificación binaria (1/0) utilizada para indicar la presencia o ausencia de un determinado ingrediente, evaluando la distribución de popularidad e ingredientes sobre el número de dulces examinados y representando gráficamente los resultados, gracias a las bibliotecas Matplotlib y Seaborn.
A partir de los gráficos de barras, podemos adivinar que el chocolate y el sabor a fruta están presentes en aproximadamente la mitad de los 85 caramelos analizados, mientras que otros ingredientes son menos comunes.
Lo que sigue es lo que se obtiene al solicitar un análisis estadístico-descriptivo.
Estas visualizaciones surgen sin haber escrito una línea de código: una petición formulada en lenguaje natural permite a ChatGPT extrapolar y representar esta información de forma intuitiva e inmediata.
El acceso al código es rápido e intuitivo, como muestra el gif, y permite copiar y pegar directamente las instrucciones en un archivo con extensión .py.
Con algunas especificaciones más, también se pueden obtener visualizaciones especiales, no estándar, como la matriz con el perfil de ingredientes de los cinco dulces más populares.
Otro análisis podría incluir el uso de la regresión multivariante, en la que las variables independientes (nuestros ingredientes, en este caso categóricos con valores 0 y 1) se evalúan en su conjunto. Por ejemplo, estimar el porcentaje de agrado promediando el «winpercentage» obtenido de todos los caramelos que contienen esos ingredientes. Esto podría proporcionar una comprensión más profunda del perfil de composición de un dulce. ChatGPT, al invocar modelos como LinearRegression de scikit-learn, nos ayuda a explorar estas complejas relaciones.
Con un coeficiente de determinación R2 de 0,776, podría considerarse significativo cómo influyen las combinaciones de ingredientes en la popularidad de los dulces. Por ejemplo, si el chocolate tiene un coeficiente alto, esto sugiere un impacto importante en el porcentaje de agrado. Por ejemplo, el chocolate tiene un coeficiente alto, es decir, desempeña un papel importante en el porcentaje de agrado. Por tanto, si quisiéramos lanzar un nuevo snack al mercado, ésta podría ser una posible dirección de análisis, sin limitarnos a evaluar el perfil de composición que se desprende de la matriz de ingredientes de los 5 principales dulces; de hecho, la presencia del barquillo de arroz inflado parece ser el segundo factor más importante.
Consideraciones finales
En conclusión, ChatGPT puede ser una valiosa ayuda para realizar análisis generales sobre un conjunto de datos relativamente simple (un modelo de datos desnormalizado en el que se dispone de una única tabla), obteniendo insights gracias a la formulación (prompting) de la tarea (task) a realizar y el contexto (descripción del dominio de aplicación) en lenguaje natural, sin necesidad de conocer técnica/operativamente cómo llegar a ese resultado. Teniendo esto en cuenta, se podría proporcionar como entrada el registro de transacciones (excel o csv) de una empresa y pedir el total de ventas, el precio medio de venta por categoría de producto o incluso la variación porcentual respecto al mes anterior (MoM). Lo que sigue es un ejemplo de una interacción de este tipo, pero hay que subrayar que ChatGPT es una herramienta útil pero falible, debe considerarse un asistente y no un especialista. Por ello, es esencial formular las tareas sin ambigüedades, asegurándose de definir el contexto útil para el análisis con el mayor detalle posible. A continuación se presentan las preguntas planteadas por ChatGPT y que constituyen, como puede adivinarse, el corazón de esta estrategia de prompting, capaz de guiar incluso a los usuarios menos experimentados en la definición correcta y completa de la petición antes de que ésta sea asumida por el modelo.
Resultados generados por ChatGPT a la derecha y resultados calculados con una herramienta de BI, a la izquierda:
Por eso, en el ejemplo que cierra este artículo, se exporta el código generado para responder a las peticiones de los usuarios.
Lee todos nuestros artículos sobre Data Science
¿Quiere conocer las últimas novedades sobre Fivetran y las nuevas tecnologías de data science?
Visualitics Team
Este artículo ha sido escrito y editado por uno de nuestros consultores
Compártelo ahora en tus redes sociales o por correo electrónico: