Logo Zephyrnet

Utilizzo dell'intelligenza artificiale di Panda per l'analisi dei dati – KDnuggets

Data:

Sei esperto nel campo dei dati utilizzando Python? Se è così, scommetto che la maggior parte di voi utilizza Panda per la manipolazione dei dati.

Se non lo sapete, Pandas è un pacchetto Python open source sviluppato appositamente per l'analisi e la manipolazione dei dati. È uno dei pacchetti più utilizzati e uno che di solito impari quando inizi un viaggio nella scienza dei dati in Python.

Allora, cos'è l'intelligenza artificiale di Panda? Immagino che tu stia leggendo questo articolo perché vuoi saperlo.

Ebbene, come sapete, siamo in un’epoca in cui l’intelligenza artificiale generativa è ovunque. Immagina di poter eseguire analisi dei dati sui tuoi dati utilizzando l'intelligenza artificiale generativa; le cose sarebbero molto più facili.

Questo è ciò che offre l'intelligenza artificiale di Panda. Con semplici istruzioni, possiamo analizzare e manipolare rapidamente il nostro set di dati senza inviare i nostri dati da qualche parte.

Questo articolo esplorerà come utilizzare Pandas AI per le attività di analisi dei dati. Nell’articolo impareremo quanto segue:

  • Configurazione dell'intelligenza artificiale di Panda
  • Esplorazione dei dati con Pandas AI
  • Visualizzazione dei dati con Pandas AI
  • Panda AI Utilizzo avanzato

Se sei pronto per imparare, entriamo nel vivo!

IA dei panda è un pacchetto Python che implementa una funzionalità LLM (Large Language Model) nell'API Pandas. Possiamo utilizzare l'API Pandas standard con il miglioramento dell'intelligenza artificiale generativa che trasforma Pandas in uno strumento di conversazione.

Vogliamo utilizzare Pandas AI principalmente per il semplice processo fornito dal pacchetto. Il pacchetto potrebbe analizzare automaticamente i dati utilizzando un semplice prompt senza richiedere codice complesso.

Basta introduzione. Entriamo nel vivo.

Innanzitutto, dobbiamo installare il pacchetto prima di ogni altra cosa.

pip install pandasai

 

Successivamente, dobbiamo impostare l'LLM che vogliamo utilizzare per Pandas AI. Esistono diverse opzioni, come OpenAI GPT e HuggingFace. Tuttavia, utilizzeremo OpenAI GPT per questo tutorial.

L'impostazione del modello OpenAI in Pandas AI è semplice, ma avrai bisogno della chiave API OpenAI. Se non ne hai uno, puoi salire sul loro sito web

Se tutto è pronto, configuriamo Pandas AI LLM utilizzando il codice seguente.

from pandasai.llm import OpenAI

llm = OpenAI(api_token="Your OpenAI API Key")

 

Ora sei pronto per eseguire l'analisi dei dati con Pandas AI.

Esplorazione dei dati con Pandas AI

Iniziamo con un set di dati di esempio e proviamo l'esplorazione dei dati con Pandas AI. In questo esempio utilizzerei i dati del Titanic dal pacchetto Seaborn.

import seaborn as sns
from pandasai import SmartDataframe

data = sns.load_dataset('titanic')
df = SmartDataframe(data, config = {'llm': llm})

 

Dobbiamo passarli all'oggetto Pandas AI Smart Data Frame per avviare l'intelligenza artificiale di Pandas. Successivamente, possiamo eseguire attività di conversazione sul nostro DataFrame.

Proviamo con una semplice domanda.

response = df.chat("""Return the survived class in percentage""")

response

 

La percentuale di passeggeri sopravvissuti è: 38.38%

Dal prompt, l'intelligenza artificiale di Panda è riuscita a trovare la soluzione e rispondere alle nostre domande. 

Possiamo porre domande all'intelligenza artificiale di Panda che forniscono risposte nell'oggetto DataFrame. Ad esempio, qui ci sono diverse richieste per l'analisi dei dati.

#Data Summary
summary = df.chat("""Can you get me the statistical summary of the dataset""")

#Class percentage
surv_pclass_perc = df.chat("""Return the survived in percentage breakdown by pclass""")

#Missing Data
missing_data_perc = df.chat("""Return the missing data percentage for the columns""")

#Outlier Data
outlier_fare_data = response = df.chat("""Please provide me the data rows that
contains outlier data based on fare column""")

 

Utilizzo dell'intelligenza artificiale di Panda per l'analisi dei dati
Immagine dell'autore
 

Dall'immagine sopra puoi vedere che l'intelligenza artificiale di Pandas può fornire informazioni con l'oggetto DataFrame, anche se il prompt è piuttosto complesso.

Tuttavia, Pandas AI non è in grado di gestire un calcolo troppo complesso poiché i pacchetti sono limitati al LLM che trasmettiamo sull'oggetto SmartDataFrame. In futuro, sono sicuro che l'intelligenza artificiale di Panda potrebbe gestire analisi molto più dettagliate man mano che la capacità LLM si evolve.

Visualizzazione dei dati con Pandas AI

L'intelligenza artificiale di Panda è utile per l'esplorazione dei dati e può eseguire la visualizzazione dei dati. Finché specifichiamo il prompt, Pandas AI fornirà l'output di visualizzazione.

Proviamo un semplice esempio.

response = df.chat('Please provide me the fare data distribution visualization')

response

 

Utilizzo dell'intelligenza artificiale di Panda per l'analisi dei dati
Immagine dell'autore
 

Nell'esempio sopra, chiediamo a Pandas AI di visualizzare la distribuzione della colonna Fare. L'output è la distribuzione del grafico a barre dal set di dati.

Proprio come l'esplorazione dei dati, puoi eseguire qualsiasi tipo di visualizzazione dei dati. Tuttavia, Pandas AI non è ancora in grado di gestire processi di visualizzazione più complessi.

Ecco alcuni altri esempi di visualizzazione dei dati con Pandas AI.

kde_plot = df.chat("""Please plot the kde distribution of age column and separate them with survived column""")

box_plot = df.chat("""Return me the box plot visualization of the age column separated by sex""")

heat_map = df.chat("""Give me heat map plot to visualize the numerical columns correlation""")

count_plot = df.chat("""Visualize the categorical column sex and survived""")

 

Utilizzo dell'intelligenza artificiale di Panda per l'analisi dei dati
Immagine dell'autore
 

La trama sembra carina e curata. Puoi continuare a chiedere all'IA dei Panda maggiori dettagli, se necessario.

L'intelligenza artificiale di Panda avanza nell'utilizzo

Possiamo utilizzare diverse API integrate di Pandas AI per migliorare l'esperienza di Pandas AI.

Cancellazione della cache

Per impostazione predefinita, tutti i prompt e i risultati dell'oggetto Pandas AI vengono archiviati nella directory locale per ridurre i tempi di elaborazione e ridurre il tempo necessario all'intelligenza artificiale di Pandas per chiamare il modello. 

Tuttavia, questa cache a volte potrebbe rendere irrilevante il risultato dell'IA dei Panda poiché considerano il risultato passato. Ecco perché è buona norma svuotare la cache. Puoi cancellarli con il seguente codice.

import pandasai as pai
pai.clear_cache()

 

Puoi anche disattivare la cache all'inizio.

df = SmartDataframe(data, {"enable_cache": False})

 

In questo modo, nessun prompt o risultato viene memorizzato dall'inizio.

Testa personalizzata

È possibile passare un DataFrame di testa campione a Pandas AI. È utile se non vuoi condividere alcuni dati privati ​​con LLM o vuoi semplicemente fornire un esempio a Pandas AI.

Per fare ciò, puoi utilizzare il seguente codice.

from pandasai import SmartDataframe
import pandas as pd

# head df
head_df = data.sample(5)

df = SmartDataframe(data, config={
    "custom_head": head_df,
    'llm': llm
})

Abilità e agenti IA di Pandas

L'intelligenza artificiale di Panda consente agli utenti di passare una funzione di esempio ed eseguirla con una decisione dell'agente. Ad esempio, la funzione seguente combina due diversi DataFrame e passiamo una funzione di grafico di esempio affinché l'agente Pandas AI possa eseguirla.

import pandas as pd
from pandasai import Agent
from pandasai.skills import skill

employees_data = {
    "EmployeeID": [1, 2, 3, 4, 5],
    "Name": ["John", "Emma", "Liam", "Olivia", "William"],
    "Department": ["HR", "Sales", "IT", "Marketing", "Finance"],
}

salaries_data = {
    "EmployeeID": [1, 2, 3, 4, 5],
    "Salary": [5000, 6000, 4500, 7000, 5500],
}

employees_df = pd.DataFrame(employees_data)
salaries_df = pd.DataFrame(salaries_data)

# Function doc string to give more context to the model for use of this skill
@skill
def plot_salaries(names: list[str], salaries: list[int]):
    """
    Displays the bar chart  having name on x-axis and salaries on y-axis
    Args:
        names (list[str]): Employees' names
        salaries (list[int]): Salaries
    """
    # plot bars
    import matplotlib.pyplot as plt

    plt.bar(names, salaries)
    plt.xlabel("Employee Name")
    plt.ylabel("Salary")
    plt.title("Employee Salaries")
    plt.xticks(rotation=45)

    # Adding count above for each bar
    for i, salary in enumerate(salaries):
        plt.text(i, salary + 1000, str(salary), ha='center', va='bottom')
    plt.show()


agent = Agent([employees_df, salaries_df], config = {'llm': llm})
agent.add_skills(plot_salaries)

response = agent.chat("Plot the employee salaries against names")

 

L'agente deciderà se utilizzare o meno la funzione che abbiamo assegnato all'IA dei Panda. 

La combinazione di Skill e Agent offre un risultato più controllabile per l'analisi DataFrame.

Abbiamo imparato quanto sia facile utilizzare l'intelligenza artificiale di Panda per aiutare il nostro lavoro di analisi dei dati. Utilizzando la potenza di LLM, possiamo limitare la parte di codifica dei lavori di analisi dei dati e concentrarci invece sui lavori critici.

In questo articolo abbiamo imparato come configurare Pandas AI, eseguire l'esplorazione e la visualizzazione dei dati con Pandas AI e migliorarne l'utilizzo. Puoi fare molto di più con il pacchetto, quindi visita il loro documentazione per saperne di più.
 
 

Cornellio Yudha Wijaya è un assistente manager di data science e scrittore di dati. Mentre lavora a tempo pieno presso Allianz Indonesia, ama condividere suggerimenti su Python e dati tramite i social media e scrivendo sui media. Cornellius scrive su una varietà di argomenti relativi all'intelligenza artificiale e all'apprendimento automatico.

spot_img

L'ultima intelligenza

spot_img