Entrada
El prospección de datos integrado en el jerga (LIDA) es una poderosa utensilio diseñada para automatizar la creación de visualizaciones, lo que permite la reproducción de visualizaciones e infografías independientes de la gramática. LIDA aborda varias tareas críticas: interpretar la semántica de los datos, identificar objetivos de visualización apropiados y gestar especificaciones de visualización detalladas. LIDA conceptualiza la reproducción de visualizaciones como un proceso de varios pasos y utiliza procesos aceptablemente estructurados, que integran modelos de jerga grandes (LLM) y modelos de reproducción de imágenes (IGM).

Descripción común
- LIDA automatiza la visualización de datos combinando modelos de jerga grandes (LLM) y modelos de reproducción de imágenes (IGM) en un proceso de varias etapas, lo que facilita la creación de visualizaciones independientes de la gramática.
- Componentes secreto de LIDA incluir herramientas de breviario de datosidentificación de objetivos, reproducción de visualizaciones y creación de infografías, lo que facilita flujos de trabajo integrales de prospección de datos.
- La plataforma soporta diversos lenguajes de programación. como Python, R y C++, lo que permite a los usuarios crear visualizaciones en varios formatos sin estar atados a una gramática específica.
- LIDA presenta una interfaz híbridacombinando manipulación directa con comandos de jerga natural para hacer que la visualización de datos sea accesible tanto para usuarios técnicos como no técnicos.
- Capacidades avanzadas como reparación de visualización, recomendaciones y explicaciones. están integrados, lo que perfeccionamiento el conocimiento de los datos y permite a los usuarios perfeccionar los resultados visuales mediante una evaluación automatizada.
- LIDA tiene como objetivo democratizar los conocimientos basados en datoslo que permite a los usuarios cambiar conjuntos de datos complejos en visualizaciones significativas para una mejor toma de decisiones.
Características secreto de LIDA
- Visualizaciones independientes de la gramática: ya sea que esté utilizando Python, R o C++, LIDA le permite producir resultados visuales sin estar prohibido a un jerga de codificación específico. Esta flexibilidad lo hace más casquivana para los usuarios con diferentes conocimientos de programación.
- Tubería de reproducción de múltiples etapas: LIDA Fanfarria a la perfección un flujo de trabajo que avanza desde el breviario de datos hasta la creación de visualizaciones, lo que facilita a los usuarios la navegación por conjuntos de datos complejos.
- Interfaz de sucesor híbrida: la opción de manipulación directa e interfaces multilingües en jerga natural hace que LIDA sea accesible a una audiencia más amplia, desde científicos de datos hasta analistas de negocios. Los usuarios pueden interactuar mediante comandos en jerga natural, lo que hace que la visualización de datos sea intuitiva y sencilla.
Casa de prospección de datos integrado en el jerga (LIDA)

- Resumidor: Convierta conjuntos de datos en descripciones concisas en jerga natural con información como todos los nombres de las columnas, distribución, etc.
- Explorador de OBJETIVOS:Identifica posibles objetivos de visualización o prospección basados en el conjunto de datos. Genera un número ‘n’ de objetivos, donde n es un parámetro electo por el sucesor.
- Creador de visualización: Genere código automáticamente para crear visualizaciones basadas en el contexto del conjunto de datos y los objetivos especificados.
- Infografo: Cree, evalúe, refine y ejecute código de visualización para producir especificaciones con estilo completo.
Características de LIDA
| Característica | Descripción |
| Recopilación de datos | LIDA compacta grandes conjuntos de datos en densos resúmenes en jerga natural, que se utilizan como pulvínulo para operaciones futuras. |
| Exploración de datos automatizada | LIDA ofrece un modo totalmente automatizado para gestar objetivos de visualización significativos basados en conjuntos de datos desconocidos. |
| Visualizaciones independientes de la gramática | LIDA genera visualizaciones en cualquier gramática (Altair, Matplotlib, Seaborn en Python o R, C++, etc.). |
| Concepción de infografías | Convierte datos en infografías atractivas y estilizadas utilizando modelos de reproducción de imágenes para historias personalizadas. |
| VizOps – Operaciones sobre visualizaciones | Operaciones detalladas sobre visualizaciones generadas, perfeccionamiento de la accesibilidad, alfabetización de datos y depuración. |
| Explicación de visualización | Proporciona descripciones detalladas del código de visualización, lo que ayuda en la accesibilidad, la educación y la creación de sentido. |
| Autoevaluación | Los LLM se utilizan para gestar puntuaciones de evaluación multidimensionales para visualizaciones basadas en las mejores prácticas. |
| Reparación de visualización | Mejoramiento o repara automáticamente las visualizaciones mediante la autoevaluación o los comentarios proporcionados por el sucesor. |
| Recomendaciones de visualización | Recomienda visualizaciones adicionales basadas en el contexto o visualizaciones existentes para comparar o adicionar perspectivas. |
Instalaciones LIDA
Para usar LIDA, necesitará instalar LIDA con el sucesivo comando:
pip install -U lida
Usaremos llmx para crear generadores de texto LLM con soporte para múltiples proveedores de LLM.
!pip install llmx
LIDA en actividad: predicción de enfermedades cardíacas
Para predecir la presencia de enfermedades cardíacas, intentemos analizar el conjunto de datos de predicción y prospección de ataques cardíacos, que contiene 14 características clínicas como tiempo, colesterol y tipo de dolor en el pecho. Trabajaremos con heart.csv en esta folleto: Conjunto de datos de predicción y prospección de ataques cardíacos.
Configuración de la interfaz web de LIDA
Para utilizar la webui de LIDA, primero debemos configurar la secreto OpenAI:
import os
os.environ('OPENAI_API_KEY')='sk-test'
Ahora ejecute este comando y haga clic en la URL:
!lida ui --port=8080 --docs

Haga clic en el pitón de demostración en vivo:

Nota: Debe configurar su secreto openai para que se ejecute la interfaz de sucesor web.
Trabajar con modelos de jerga
“gpt-3.5-turbo-0301” es el maniquí seleccionado por defecto.

Puede hacer clic en Configuración de reproducción y el proveedor, maniquí y otras configuraciones de LLM.

Visualización y consecución de conocimientos con LIDA utilizando Python
En esta folleto me centraré en visualizar y obtener conocimientos con LIDA usando Python.
En esta demostración, utilizaré el proveedor Cohere LLM. Puedes acontecer el cursor sobre Panel de control de Cohere y obtenga su secreto API de prueba para utilizar modelos de Cohere.
from llmx import llm
from llmx.datamodel import TextGenerationConfig
import os
os.environ('COHERE_API_KEY')='Your_API_Key'
messages = (
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "What is osmosis?"}
)
gen = llm(provider="cohere")
config = TextGenerationConfig(model="command-r-plus-08-2024", max_tokens=50)
response = gen.generate(messages, config=config, use_cache=True)
print(response.text(0).content)
Osmosis is a fundamental process in biology and chemistry where a solvent,
typically water, moves across a semipermeable membrane from a region of
lower solute concentration to a region of higher solute concentration, aiming
to equalize the concentrations on both sides
from lida import Manager, llm
lida = Manager(text_gen = gen) # using the hugging face model
summary = lida.summarize("heart.csv")
print(summary)
Producción
{'name': 'heart.csv', 'file_name': 'heart.csv', 'dataset_description': '',
'fields': ({'column': 'age', 'properties': {'dtype': 'number', 'std': 9,
'min': 29, 'max': 77, 'samples': (46, 66, 48), 'num_unique_values': 41,
'semantic_type': '', 'description': ''}}, {'column': 'sex', 'properties':
{'dtype': 'number', 'std': 0, 'min': 0, 'max': 1, 'samples': (0, 1),
'num_unique_values': 2, 'semantic_type': '', 'description': ''}}, {'column':
'cp', 'properties': {'dtype': 'number', 'std': 1, 'min': 0, 'max': 3,
'samples': (2, 0), 'num_unique_values': 4, 'semantic_type': '',
'description': ''}}, {'column': 'trtbps', 'properties': {'dtype': 'number',
'std': 17, 'min': 94, 'max': 200, 'samples': (104, 123),
'num_unique_values': 49, 'semantic_type': '', 'description': ''}}, {'column':
'chol', 'properties': {'dtype': 'number', 'std': 51, 'min': 126, 'max': 564,
'samples': (277, 169), 'num_unique_values': 152, 'semantic_type': '',
'description': ''}}, {'column': 'fbs', 'properties': {'dtype': 'number',
'std': 0, 'min': 0, 'max': 1, 'samples': (0, 1), 'num_unique_values': 2,
'semantic_type': '', 'description': ''}}, {'column': 'restecg',
'properties': {'dtype': 'number', 'std': 0, 'min': 0, 'max': 2, 'samples':
(0, 1), 'num_unique_values': 3, 'semantic_type': '', 'description': ''}},
{'column': 'thalachh', 'properties': {'dtype': 'number', 'std': 22, 'min':
71, 'max': 202, 'samples': (159, 152), 'num_unique_values': 91,
'semantic_type': '', 'description': ''}}, {'column': 'exng', 'properties':
{'dtype': 'number', 'std': 0, 'min': 0, 'max': 1, 'samples': (1, 0),
'num_unique_values': 2, 'semantic_type': '', 'description': ''}}, {'column':
'oldpeak', 'properties': {'dtype': 'number', 'std': 1.1610750220686343,
'min': 0.0, 'max': 6.2, 'samples': (1.9, 3.0), 'num_unique_values': 40,
'semantic_type': '', 'description': ''}}, {'column': 'slp', 'properties':
{'dtype': 'number', 'std': 0, 'min': 0, 'max': 2, 'samples': (0, 2),
'num_unique_values': 3, 'semantic_type': '', 'description': ''}}, {'column':
'caa', 'properties': {'dtype': 'number', 'std': 1, 'min': 0, 'max': 4,
'samples': (2, 4), 'num_unique_values': 5, 'semantic_type': '',
'description': ''}}, {'column': 'thall', 'properties': {'dtype': 'number',
'std': 0, 'min': 0, 'max': 3, 'samples': (2, 0), 'num_unique_values': 4,
'semantic_type': '', 'description': ''}}, {'column': 'output', 'properties':
{'dtype': 'number', 'std': 0, 'min': 0, 'max': 1, 'samples': (0, 1),
'num_unique_values': 2, 'semantic_type': '', 'description': ''}}),
'field_names': ('age', 'sex', 'cp', 'trtbps', 'chol', 'fbs', 'restecg',
'thalachh', 'exng', 'oldpeak', 'slp', 'caa', 'thall', 'output')}
goals = lida.goals(summary=summary, n=5, persona="A data scientist focused on using predictive analytics to improve early detection and prevention of heart disease.") # generate goals (n is no. of goals)
5 Metas que Hemos Generado
‘n’ es no. de objetivos que generaremos usando el breviario; veamos los 5 objetivos que generamos:
goals(0)
Goal 0
Question: How does age impact heart disease risk?Visualization: Scatter plot with 'age' on the x-axis and 'output' (heart
disease presence) as colored data pointsRationale: This visualization will help us understand if there's a
correlation between age and heart disease risk. By plotting age against the
presence of heart disease, we can identify any trends or patterns that may
indicate higher risk at certain ages, aiding in early detection strategies.
goals(1)
Goal 1
Question: Is there a gender disparity in heart disease occurrence?Visualization: Stacked bar chart comparing the count of 'sex' (gender) with
'output' (heart disease presence)Rationale: This chart will reveal any gender disparities in heart disease
cases. By comparing the distribution of males and females with and without
heart disease, we can assess if one gender is more susceptible, which is
crucial for targeted prevention efforts.
goals(2)
Goal 2
Question: How does cholesterol level affect heart health?Visualization: Box plot of 'chol' (cholesterol) grouped by 'output' (heart
disease presence)Rationale: This plot will illustrate the distribution of cholesterol levels
in individuals with and without heart disease. We can determine if higher
cholesterol is associated with an increased risk of heart disease, providing
insights for preventive measures.
goals(3)
Goal 3
Question: Are there specific chest pain types linked to heart disease?
Visualization: Violin plot of 'cp' (chest pain type) colored by 'output'
(heart disease presence)
Rationale: This visualization will help us understand if certain types of
chest pain are more prevalent in heart disease cases. By examining the
distribution of chest pain types, we can identify patterns that may aid in
early diagnosis and treatment planning.
goals(4)
Goal 4
Question: How does resting heart rate relate to heart disease?Visualization: Scatter plot with 'thalachh' (resting heart rate) on the y-
axis and 'output' (heart disease presence) as colored data pointsRationale: This plot will reveal any relationship between resting heart rate
and heart disease. By visualizing the resting heart rate against the
presence of heart disease, we can determine if higher or lower rates are
associated with increased risk, guiding early intervention strategies.
Generando gráficos para cada objetivo
Generemos gráficos para cada objetivo y obtengamos información a partir de las visualizaciones.
charts = ()
for i in range(5):
charts.append(lida.visualize(summary=summary, goal=goals(i), library="seaborn"))
charts(0)(0)

charts(1)(0)

charts(2)(0)

charts(3)(0)

charts(4)(0)

Función lida.edit para sugerir cambios en el representación
Veamos la función lida.edit para sugerir cambios en el representación. Cambiemos el título y el color de la trama.
# modify chart using natural language
instructions = ("change the color to red", "shorten the title")
edited_charts = lida.edit(code=charts(4)(0).code, summary=summary, instructions=instructions, library='seaborn')

Función lida.explain para revisar y explicar el código
Incluso tenemos la opción de usar la función lida.explain para revisar el código y explicar sobre el código (específicamente para el representación de objetivo-0 aquí)
explanation = lida.explain(code=charts(0)(0).code)
print(explanation(0)(0)('explanation'))
Este código crea un diagrama de dispersión utilizando la biblioteca Seaborn, con la «tiempo» en el eje x y el «desembolso» (presencia de enfermedades cardíacas) como puntos de datos coloreados. Se agrega la epígrafe con el título «Presencia de enfermedad cardíaca» para distinguir entre las dos posibles expectativas. El título de la trama proporciona contexto y pregunta sobre el impacto de la tiempo en el aventura de enfermedad cardíaca.
LIDA además permite a los usuarios evaluar el código y otorgar una puntuación al código utilizando lida.evaluate:
evaluations = lida.evaluate(code=charts(4)(0).code, goal=goals(4), library='seaborn')
print(evaluations(0)(0))
{'dimension': 'bugs', 'score': 8, 'rationale': "The code has no syntax errors
and is mostly bug-free. However, there is a potential issue with the variable
'output' in the scatterplot, as it is not defined in the provided code
snippet. Assuming 'output' is a column in the DataFrame, the code should
work as intended, but this could cause confusion or errors if the column name
is not accurate."}
Con un código determinado, podemos advertir más visualizaciones usando lida.recommend.
recommendations = lida.recommend(code=charts(1)(0).code, summary=summary, n=2)

Referencias y fortuna
- Documentación oficial LIDA: (Documentación LIDA)
- Repositorio de GitHub: (Microsoft LIDA GitHub)
Conclusión
LIDA está revolucionando el panorama de la visualización de datos al integrarse perfectamente formación automotriz capacidades en el proceso. Su proceso de múltiples etapas simplifica la creación de visualizaciones e infografías significativas e independientes de la gramática, lo que hace que la información sobre los datos sea más accesible incluso para aquellos sin amplios conocimientos de programación. La combinación de interfaces de jerga natural con manipulación directa permite a los usuarios técnicos y no técnicos cambiar conjuntos de datos complejos en historias claras y visualmente convincentes. Las funciones integradas de la plataforma para reparación de visualizaciones, recomendaciones y autoevaluación mejoran aún más el conocimiento de los datos y permiten a los usuarios perfeccionar los resultados visuales de guisa efectiva. En última instancia, facilita una mejor toma de decisiones basada en datos al facilitar el proceso de convertir datos en conocimientos procesables.
Si está buscando un curso integral de IA generativa, explore Pináculo de GenAI ¡Hoy y lleva tus habilidades al sucesivo nivel!
Preguntas frecuentes
Respuesta. El Viz Generator genera código para crear visualizaciones.
Respuesta. LIDA es independiente de la gramática, lo que significa que puede gestar visualizaciones en cualquier gramática de visualización como Altair, Matplotlib, ggplot o Seaborn en Python, así como en otros lenguajes de programación como R y C++.
Respuesta. Una término de LIDA es su dependencia de la precisión de los modelos de jerga grandes y la calidad de los datos. Si los modelos generan objetivos o resúmenes incorrectos, pueden gestar visualizaciones subóptimas o engañosas.