Einführung

Language-Built-in Information Evaluation (LIDA) ist ein leistungsstarkes Instrument zur Automatisierung der Visualisierungserstellung, das die Erstellung grammatikunabhängiger Visualisierungen und Infografiken ermöglicht. LIDA befasst sich mit mehreren wichtigen Aufgaben: Interpretation der Datensemantik, Identifizierung geeigneter Visualisierungsziele und Generierung detaillierter Visualisierungsspezifikationen. LIDA konzipiert die Visualisierungsgenerierung als einen mehrstufigen Prozess und verwendet intestine strukturierte Pipelines, die integrieren große Sprachmodelle (LLMs) und Bilderzeugungsmodelle (IGMs).

LIDA

Überblick

  1. LIDA automatisiert die Datenvisualisierung Durch die Kombination großer Sprachmodelle (LLMs) und Bilderzeugungsmodelle (IGMs) in einem mehrstufigen Prozess wird die Erstellung grammatikunabhängiger Visualisierungen erleichtert.
  2. Die wichtigsten Komponenten von LIDA Dazu gehören Instruments zur DatenzusammenfassungZielidentifizierung, Visualisierungsgenerierung und Infografikerstellung, wodurch umfassende Datenanalyse-Workflows ermöglicht werden.
  3. Die Plattform unterstützt verschiedene Programmiersprachen wie Python, R und C++, sodass Benutzer Visualisierungen in verschiedenen Formaten erstellen können, ohne an eine bestimmte Grammatik gebunden zu sein.
  4. LIDA verfügt über eine Hybridschnittstelleindem es direkte Manipulation mit Befehlen in natürlicher Sprache kombiniert, um die Datenvisualisierung sowohl für technische als auch für nichttechnische Benutzer zugänglich zu machen.
  5. Erweiterte Funktionen wie Visualisierungsreparatur, Empfehlungen und Erklärungen sind integriert, verbessern die Datenkompetenz und ermöglichen es Benutzern, visuelle Ausgaben durch automatisierte Auswertung zu verfeinern.
  6. LIDA zielt darauf ab, datengesteuerte Erkenntnisse zu demokratisierenDadurch können Benutzer komplexe Datensätze in aussagekräftige Visualisierungen für eine bessere Entscheidungsfindung umwandeln.

Hauptmerkmale von LIDA

  1. Grammatikunabhängige Visualisierungen: Unabhängig davon, ob Sie Python, R oder C++ verwenden, können Sie mit LIDA visuelle Ausgaben erstellen, ohne an eine bestimmte Programmiersprache gebunden zu sein. Diese Flexibilität erleichtert Benutzern mit unterschiedlichem Programmierhintergrund die Arbeit.
  2. Mehrstufige Erzeugungspipeline: LIDA orchestriert nahtlos einen Arbeitsablauf, der von der Datenzusammenfassung bis zur Visualisierungserstellung reicht, und erleichtert Benutzern die Navigation in komplexen Datensätzen.
  3. Hybride Benutzeroberfläche: Die Choice für direkte Manipulation und mehrsprachige Benutzeroberflächen in natürlicher Sprache machen LIDA einem breiteren Publikum zugänglich, von Datenwissenschaftlern bis hin zu Geschäftsanalysten. Benutzer können über Befehle in natürlicher Sprache interagieren, wodurch die Datenvisualisierung intuitiv und unkompliziert wird.

Architektur der sprachintegrierten Datenanalyse (LIDA).

Sprachintegrierte Datenanalyse (LIDA)
  1. Zusammenfassung: Konvertieren Sie Datensätze in prägnante Beschreibungen in natürlicher Sprache mit Informationen wie allen Spaltennamen, der Verteilung usw
  2. GOAL Explorer:Identifiziert potenzielle Visualisierungs- oder Analyseziele basierend auf dem Datensatz. Es generiert eine Anzahl von „n“ Zielen, wobei n ein vom Benutzer ausgewählter Parameter ist.
  3. Visualisierungsgenerator: Generieren Sie automatisch Code, um Visualisierungen basierend auf dem Datensatzkontext und den angegebenen Zielen zu erstellen.
  4. Infograf: Erstellen, bewerten, verfeinern und führen Sie Visualisierungscode aus, um vollständig gestaltete Spezifikationen zu erstellen.

Merkmale von LIDA

Besonderheit Beschreibung
Datenzusammenfassung LIDA komprimiert große Datensätze zu dichten Zusammenfassungen in natürlicher Sprache, die als Grundlage für zukünftige Operationen dienen.
Automatisierte Datenexploration LIDA bietet einen vollautomatischen Modus zur Generierung aussagekräftiger Visualisierungsziele auf der Grundlage unbekannter Datensätze.
Grammatikunabhängige Visualisierungen LIDA generiert Visualisierungen in jeder Grammatik (Altair, Matplotlib, Seaborn in Python oder R, C++ usw.).
Infografik-Generierung Wandelt Daten mithilfe von Bildgenerierungsmodellen für personalisierte Geschichten in stilisierte, ansprechende Infografiken um.
VizOps – Operationen an Visualisierungen Detaillierte Vorgänge an generierten Visualisierungen zur Verbesserung der Zugänglichkeit, Datenkompetenz und Fehlerbehebung.
Visualisierungserklärung Bietet ausführliche Beschreibungen des Visualisierungscodes und hilft bei der Zugänglichkeit, Bildung und Sinnstiftung.
Selbsteinschätzung LLMs werden verwendet, um mehrdimensionale Bewertungswerte für Visualisierungen auf der Grundlage von Greatest Practices zu generieren.
Visualisierungsreparatur Verbessert oder repariert Visualisierungen automatisch mithilfe der Selbstbewertung oder des vom Benutzer bereitgestellten Feedbacks.
Visualisierungsempfehlungen Empfiehlt zusätzliche Visualisierungen basierend auf dem Kontext oder vorhandenen Visualisierungen zum Vergleich oder für zusätzliche Perspektiven.

Installationen LIDA

Um LIDA verwenden zu können, müssen Sie LIDA mit dem folgenden Befehl installieren:

pip set up -U lida

Wir werden llmx verwenden, um LLM-Textgeneratoren mit Unterstützung für mehrere LLM-Anbieter zu erstellen.

!pip set up llmx

LIDA in Aktion: Vorhersage von Herzerkrankungen

Um das Vorliegen einer Herzerkrankung vorherzusagen, analysieren wir den Datensatz zur Analyse und Vorhersage von Herzinfarkten, der 14 klinische Merkmale wie Alter, Cholesterin und Artwork der Brustschmerzen enthält. In diesem Handbuch arbeiten wir mit coronary heart.csv: Datensatz zur Analyse und Vorhersage von Herzinfarkten.

Einrichten der LIDA WebUI

Um die Webui von LIDA nutzen zu können, müssen wir zunächst den OpenAI-Schlüssel einrichten:

import os
os.environ('OPENAI_API_KEY')='sk-test'

Führen Sie nun diesen Befehl aus und klicken Sie auf die URL:

!lida ui  --port=8080 --docs
LIDA-Benutzeroberfläche

Klicken Sie auf den Stay-Demo-Button:

LIDA

Hinweis: Sie müssen Ihren OpenAI-Schlüssel einrichten, um die Net-Benutzeroberfläche zum Laufen zu bringen.

Arbeiten mit Sprachmodellen

„gpt-3.5-turbo-0301“ ist das standardmäßig ausgewählte Modell.

LIDA

Sie können auf Generierungseinstellungen und den LLM-Anbieter, das Modell und andere Einstellungen klicken.

LIDA-Generierungseinstellung

Visualisierung und Gewinnung von Erkenntnissen mit LIDA unter Verwendung von Python

In diesem Leitfaden werde ich mich auf die Visualisierung und Gewinnung von Erkenntnissen mit LIDA mithilfe von Python konzentrieren.

In dieser Demo verwende ich den Cohere LLM-Anbieter. Sie können mit der Maus darüber fahren Coheres Dashboard und holen Sie sich Ihren Take a look at-API-Schlüssel, um Modelle von Cohere zu verwenden.

from llmx import llm
from llmx.datamodel import TextGenerationConfig
import os
os.environ('COHERE_API_KEY')='Your_API_Key'
messages = (
   {"function": "system", "content material": "You're a useful assistant"},
   {"function": "person", "content material": "What's osmosis?"}
)
gen = llm(supplier="cohere")
config = TextGenerationConfig(mannequin="command-r-plus-08-2024", max_tokens=50)
response = gen.generate(messages, config=config, use_cache=True)
print(response.textual content(0).content material)
Osmosis is a basic course of in biology and chemistry the place a solvent,
usually water, strikes throughout a semipermeable membrane from a area of
decrease solute focus to a area of upper solute focus, aiming
to equalize the concentrations on either side
from lida import Supervisor, llm
lida = Supervisor(text_gen = gen) # utilizing the cuddling face mannequin
abstract = lida.summarize("coronary heart.csv")
print(abstract)

Ausgabe

{'identify': 'coronary heart.csv', 'file_name': 'coronary heart.csv', 'dataset_description': '',
'fields': ({'column': 'age', 'properties': {'dtype': 'quantity', 'std': 9,
'min': 29, 'max': 77, 'samples': (46, 66, 48), 'num_unique_values': 41,
'semantic_type': '', 'description': ''}}, {'column': 'intercourse', 'properties':
{'dtype': 'quantity', 'std': 0, 'min': 0, 'max': 1, 'samples': (0, 1),
'num_unique_values': 2, 'semantic_type': '', 'description': ''}}, {'column':
'cp', 'properties': {'dtype': 'quantity', 'std': 1, 'min': 0, 'max': 3,
'samples': (2, 0), 'num_unique_values': 4, 'semantic_type': '',
'description': ''}}, {'column': 'trtbps', 'properties': {'dtype': 'quantity',
'std': 17, 'min': 94, 'max': 200, 'samples': (104, 123),
'num_unique_values': 49, 'semantic_type': '', 'description': ''}}, {'column':
'chol', 'properties': {'dtype': 'quantity', 'std': 51, 'min': 126, 'max': 564,
'samples': (277, 169), 'num_unique_values': 152, 'semantic_type': '',
'description': ''}}, {'column': 'fbs', 'properties': {'dtype': 'quantity',
'std': 0, 'min': 0, 'max': 1, 'samples': (0, 1), 'num_unique_values': 2,
'semantic_type': '', 'description': ''}}, {'column': 'restecg',
'properties': {'dtype': 'quantity', 'std': 0, 'min': 0, 'max': 2, 'samples':
(0, 1), 'num_unique_values': 3, 'semantic_type': '', 'description': ''}},
{'column': 'thalachh', 'properties': {'dtype': 'quantity', 'std': 22, 'min':
71, 'max': 202, 'samples': (159, 152), 'num_unique_values': 91,
'semantic_type': '', 'description': ''}}, {'column': 'exng', 'properties':
{'dtype': 'quantity', 'std': 0, 'min': 0, 'max': 1, 'samples': (1, 0),
'num_unique_values': 2, 'semantic_type': '', 'description': ''}}, {'column':
'oldpeak', 'properties': {'dtype': 'quantity', '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': 'quantity', 'std': 0, 'min': 0, 'max': 2, 'samples': (0, 2),
'num_unique_values': 3, 'semantic_type': '', 'description': ''}}, {'column':
'caa', 'properties': {'dtype': 'quantity', 'std': 1, 'min': 0, 'max': 4,
'samples': (2, 4), 'num_unique_values': 5, 'semantic_type': '',
'description': ''}}, {'column': 'thall', 'properties': {'dtype': 'quantity',
'std': 0, 'min': 0, 'max': 3, 'samples': (2, 0), 'num_unique_values': 4,
'semantic_type': '', 'description': ''}}, {'column': 'output', 'properties':
{'dtype': 'quantity', 'std': 0, 'min': 0, 'max': 1, 'samples': (0, 1),
'num_unique_values': 2, 'semantic_type': '', 'description': ''}}),
'field_names': ('age', 'intercourse', 'cp', 'trtbps', 'chol', 'fbs', 'restecg',
'thalachh', 'exng', 'oldpeak', 'slp', 'caa', 'thall', 'output')}
objectives = lida.objectives(abstract=abstract, n=5, persona="An information scientist centered on utilizing predictive analytics to enhance early detection and prevention of coronary heart illness.") # generate objectives (n isn't any. of objectives)

5 Ziele, die wir generiert haben

’n‘ ist nein. der Ziele, die wir mithilfe der Zusammenfassung generieren; Schauen wir uns die 5 Ziele an, die wir generiert haben:

objectives(0)
Objective 0
Query: How does age influence coronary heart illness danger?

Visualization: Scatter plot with 'age' on the x-axis and 'output' (coronary heart
illness presence) as coloured information factors

Rationale: This visualization will assist us perceive if there is a
correlation between age and coronary heart illness danger. By plotting age in opposition to the
presence of coronary heart illness, we are able to determine any developments or patterns which will
point out larger danger at sure ages, aiding in early detection methods.

objectives(1)
Objective 1
Query: Is there a gender disparity in coronary heart illness prevalence?

Visualization: Stacked bar chart evaluating the rely of 'intercourse' (gender) with
'output' (coronary heart illness presence)

Rationale: This chart will reveal any gender disparities in coronary heart illness
instances. By evaluating the distribution of men and women with and with out
coronary heart illness, we are able to assess if one gender is extra vulnerable, which is
essential for focused prevention efforts.

objectives(2)
Objective 2
Query: How does ldl cholesterol degree have an effect on coronary heart well being?

Visualization: Field plot of 'chol' (ldl cholesterol) grouped by 'output' (coronary heart
illness presence)

Rationale: This plot will illustrate the distribution of levels of cholesterol
in people with and with out coronary heart illness. We are able to decide if larger
ldl cholesterol is related to an elevated danger of coronary heart illness, offering
insights for preventive measures.

objectives(3)
Objective 3
Query: Are there particular chest ache varieties linked to coronary heart illness?

Visualization: Violin plot of 'cp' (chest ache kind) coloured by 'output'
 (coronary heart illness presence)

Rationale: This visualization will assist us perceive if sure varieties of
 chest ache are extra prevalent in coronary heart illness instances. By analyzing the
 distribution of chest ache varieties, we are able to determine patterns which will assist in
 early prognosis and therapy planning.
objectives(4)
Objective 4
Query: How does resting coronary heart price relate to coronary heart illness?

Visualization: Scatter plot with 'thalachh' (resting coronary heart price) on the y-
axis and 'output' (coronary heart illness presence) as coloured information factors

Rationale: This plot will reveal any relationship between resting coronary heart price
and coronary heart illness. By visualizing the resting coronary heart price in opposition to the
presence of coronary heart illness, we are able to decide if larger or decrease charges are
related to elevated danger, guiding early intervention methods.

Generieren von Diagrammen für jedes Ziel

Lassen Sie uns Diagramme für jedes Ziel erstellen und Erkenntnisse aus den Visualisierungen gewinnen.

charts = ()
for i in vary(5):
   charts.append(lida.visualize(abstract=abstract, aim=objectives(i), library="seaborn"))
charts(0)(0)
LIDA-Diagramm
charts(1)(0)
LIDA-Charts(1)(0)
charts(2)(0)
LIDA-Charts(2)(0)
charts(3)(0)
LIDA-Charts(3)(0)
charts(4)(0)
LIDA-Charts(4)(0)

Funktion „lida.edit“ zum Vorschlagen von Änderungen im Diagramm

Schauen wir uns die Funktion lida.edit an, um Änderungen im Diagramm vorzuschlagen. Lassen Sie uns den Titel und die Farbe des Plots ändern.

# modify chart utilizing pure language
directions = ("change the colour to pink", "shorten the title")
edited_charts = lida.edit(code=charts(4)(0).code,  abstract=abstract, directions=directions, library='seaborn')
LIDA-Diagramm

lida.explain-Funktion zum Überprüfen und Erklären des Codes

Wir haben auch die Möglichkeit, die Funktion „lida.clarify“ zu verwenden, um den Code zu überprüfen und den Code zu erläutern (hier speziell für das Diagramm von Ziel-0).

rationalization = lida.clarify(code=charts(0)(0).code)
print(rationalization(0)(0)('rationalization'))

Dieser Code erstellt mithilfe der Seaborn-Bibliothek ein Streudiagramm mit „Alter“ auf der X-Achse und „Ausgabe“ (Vorliegen einer Herzerkrankung) als farbige Datenpunkte. Der Legende wird der Titel „Herzkrankheitspräsenz“ hinzugefügt, um zwischen den beiden möglichen Ausgaben zu unterscheiden. Der Titel der Handlung liefert den Kontext und fragt nach dem Einfluss des Alters auf das Risiko von Herzerkrankungen.

Mit LIDA können Benutzer den Code auch bewerten und mithilfe von lida.consider eine Bewertung für einen Code abgeben:

evaluations = lida.consider(code=charts(4)(0).code, aim=objectives(4), library='seaborn')
print(evaluations(0)(0))
{'dimension': 'bugs', 'rating': 8, 'rationale': "The code has no syntax errors 
and is generally bug-free. Nevertheless, there's a potential concern with the variable
'output' within the scatterplot, as it isn't outlined within the supplied code
snippet. Assuming 'output' is a column within the DataFrame, the code ought to
work as supposed, however this might trigger confusion or errors if the column identify
will not be correct."}

Mit einem bestimmten Code können wir mithilfe von lida.advocate weitere Visualisierungen empfehlen.

suggestions = lida.advocate(code=charts(1)(0).code, abstract=abstract, n=2)
LIDA-Diagramm

Referenzen und Ressourcen

  1. Offizielle LIDA-Dokumentation: (LIDA-Dokumentation)
  2. GitHub-Repository: (Microsoft LIDA GitHub)

Abschluss

LIDA revolutioniert die Landschaft der Datenvisualisierung durch nahtlose Integration maschinelles Lernen Fähigkeiten in den Prozess einbinden. Seine mehrstufige Pipeline vereinfacht die Erstellung aussagekräftiger, grammatikunabhängiger Visualisierungen und Infografiken und macht Dateneinblicke auch für diejenigen ohne umfassende Programmierkenntnisse zugänglicher. Durch die Kombination natürlicher Sprachschnittstellen mit direkter Manipulation können technische und nichttechnische Benutzer komplexe Datensätze in klare, visuell ansprechende Geschichten umwandeln. Die integrierten Funktionen der Plattform zur Visualisierungsreparatur, Empfehlungen und Selbstbewertung verbessern die Datenkompetenz weiter und ermöglichen es Benutzern, visuelle Ausgaben effektiv zu verfeinern. Letztendlich erleichtert es eine bessere datengesteuerte Entscheidungsfindung, indem es den Prozess der Datenumwandlung in umsetzbare Erkenntnisse rationalisiert.

Wenn Sie auf der Suche nach einem umfassenden Kurs zur generativen KI sind, schauen Sie sich um GenAI Pinnacle noch heute und bringen Sie Ihre Fähigkeiten auf die nächste Stufe!

Häufig gestellte Fragen

Q1. Was macht der Viz-Generator in LIDA?

Antwort. Der Viz-Generator generiert Code zum Erstellen von Visualisierungen.

Q2. Welche Programmiersprachen und Bibliotheken unterstützt LIDA?

Antwort. LIDA ist grammatikagnostisch, das heißt, es kann Visualisierungen in jeder Visualisierungsgrammatik wie Altair, Matplotlib, ggplot oder Seaborn in Python sowie in anderen Programmiersprachen wie R und C++ generieren.

Q3. Was ist eine Einschränkung von LIDA?

Antwort. Eine Einschränkung von LIDA besteht darin, dass es auf die Genauigkeit großer Sprachmodelle und die Qualität der Daten angewiesen ist. Wenn die Modelle falsche Ziele oder Zusammenfassungen generieren, kann dies zu suboptimalen oder irreführenden Visualisierungen führen.

Ich bin ein Technik-Fanatic und habe meinen Abschluss am Vellore Institute of Know-how gemacht. Ich arbeite gerade als Information Science Trainee. Ich interessiere mich sehr für Deep Studying und generative KI.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert