¿Cómo automatizar el análisis de datos con Langchain?
How to automate data analysis with Langchain?
Introducción
En el mundo actual, las empresas y organizaciones dependen en gran medida de los datos para tomar decisiones informadas. Sin embargo, analizar grandes cantidades de datos puede ser una tarea que consume mucho tiempo y resultar abrumadora. Ahí es donde entra en juego la automatización. Con la ayuda de frameworks como Langchain y Gen AI, puedes automatizar el análisis de tus datos y ahorrar tiempo valioso.
En este artículo, profundizaremos en cómo puedes utilizar Langchain para construir tu propio agente y automatizar el análisis de tus datos. También te mostraremos una guía paso a paso para crear un agente Langchain utilizando un agente pandas incorporado.
¿Qué es Langchain?
Langchain es un framework utilizado para construir aplicaciones con modelos de lenguaje grandes como chatGPT. Proporciona una mejor manera de manejar la memoria, las indicaciones y crear cadenas, una serie de acciones. Además, Langchain proporciona a los desarrolladores una facilidad para crear agentes. Un agente es una entidad que puede ejecutar una serie de acciones basadas en condiciones.
Tipos de Agentes en Langchain
Hay dos tipos de agentes en Langchain:
- Agentes de Acción: Los agentes de acción deciden las acciones a tomar y ejecutan esas acciones una a la vez.
- Agentes de Planificación y Ejecución: Los agentes de planificación y ejecución primero deciden un plan de acciones a tomar y luego ejecutan esas acciones una a la vez.
Sin embargo, no hay una distinción clara entre ambas categorías ya que este concepto aún se está desarrollando.
Análisis de Datos con Langchain
Para hacer análisis de datos con Langchain, primero debemos instalar las bibliotecas Langchain y OpenAI. Puedes hacer esto descargando las bibliotecas requeridas e importándolas a tu proyecto.
Así es como puedes hacerlo:
# Instalación de las bibliotecas Langchain y OpenAI
!pip install langchain openai
# Importando bibliotecas
import os
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from langchain.agents import create_pandas_dataframe_agent
from langchain.llms import OpenAI
# Configura la clave de la API
os.environ['OPENAI_API_KEY']="TU CLAVE DE API"
Puedes obtener tu clave de API de OpenAI en la plataforma de OpenAI.
Creando un Agente Langchain
Para crear un agente Langchain, usaremos el agente pandas incorporado. Utilizaremos un conjunto de datos de riesgo de enfermedad cardíaca para esta demostración. Este dato está disponible en línea y se puede leer en el dataframe de pandas directamente. Así es como puedes hacerlo:
# Importando los datos
df = pd.read_csv('http://www-stat.stanford.edu/~tibs/ElemStatLearn/datasets/SAheart.data')
# Inicializando el agente
agente = create_pandas_dataframe_agent(OpenAI(temperature=0),
df, verbose=True)
openai = OpenAI(temperature=0.0)
Openai.model_name # Esto imprimirá el modelo que se está utilizando,
# por defecto utiliza ‘text-davinci-003’
El parámetro de temperatura se utiliza para ajustar la creatividad del modelo. Cuando se establece en 0, el modelo es menos propenso a la alucinación. Hemos mantenido verbose=True. Imprimirá todos los pasos intermedios durante la ejecución.
Consultando al Agente
Una vez que hayas configurado tu agente, puedes comenzar a consultarlo. Hay varios tipos de consultas que puedes pedirle a tu agente que realice. Veamos algunos pasos de análisis de datos:
EDA Básico
# Verifiquemos la forma de los datos.'
agente("¿Cuál es la forma del conjunto de datos?")
Aquí puedes ver que el modelo está imprimiendo todos los pasos intermedios porque hemos establecido verbose=True
# Identificación de valores faltantes
agente("¿Cuántos valores faltantes hay en cada columna?")
Podemos ver que ninguna de las columnas tiene valores faltantes.
# Veamos cómo se ve la información
agent("Mostrar 5 registros en forma de tabla.")
Análisis Univariado
En esta sección trataremos de ver la distribución de varias variables.
agent("Mostrar la distribución de personas que sufren de enfermedades cardíacas mediante un gráfico de barras.")
agent("""Mostrar la distribución de edad donde la persona
sufre de enfermedades cardíacas utilizando un histograma con
rango de 0 a 10, de 10 a 20, de 20 a 30 años, y así sucesivamente.""")
agent("""Dibujar un diagrama de caja para determinar si hay valores atípicos
en términos de edad de quienes sufren de enfermedades cardíacas.""")
Pruebas de hipótesis
Intentaremos probar algunas hipótesis.
# ¿El tabaco causa enfermedades cardíacas?
agent("""Validar la siguiente hipótesis con una prueba t.
Hipótesis nula: El consumo de tabaco no causa enfermedades cardíacas.
Hipótesis alternativa: El consumo de tabaco causa enfermedades cardíacas.""")
# ¿Cómo es la distribución de enfermedades cardíacas en los diferentes grupos de edad?
agent("""Graficar la distribución de edad para ambos valores
de enfermedades cardíacas utilizando un diagrama de densidad. También proporcionar una leyenda y
etiquetar los ejes x e y.""")
Análisis Bivariado
Hagamos un par de consultas para ver cómo están relacionadas varias variables.
agent("""Dibujar un diagrama de dispersión que muestre la relación
entre la adiposidad y el ldl para ambas categorías de enfermedades cardíacas.""")
agent("""¿Cuál es la correlación de diferentes variables con enfermedades cardíacas?""")
Conclusión
Langchain es un excelente marco para automatizar el análisis de datos. Al crear agentes, puede realizar varios tipos de análisis utilizando los modelos de lenguaje de Gen AI. En este artículo, le hemos mostrado cómo utilizar el agente incorporado de pandas Langchain y realizar algunos análisis EDA básicos, análisis univariado y bivariado y pruebas de hipótesis. Además, esperamos que esta guía le haya sido útil para aprender cómo automatizar su análisis de datos y mejorar su proceso de toma de decisiones.
Preguntas frecuentes
We will continue to update Zepes; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles