Una guida completa a PandasAI

Guida completa a PandasAI

Introduzione

L’Intelligenza Artificiale Generativa e i Large Language Models (LLM) hanno portato una nuova era all’Intelligenza Artificiale e all’Apprendimento Automatico. Questi grandi modelli di linguaggio vengono utilizzati in varie applicazioni in diversi settori e hanno aperto nuove prospettive sull’IA. Questi modelli vengono addestrati su una vasta quantità di dati testuali provenienti da tutto Internet e possono generare testo in modo simile a un essere umano. L’esempio più noto di un LLM è ChatGPT, sviluppato da OpenAI. Può svolgere varie attività, dalla creazione di contenuti originali alla scrittura di codice. In questo articolo, esamineremo una di queste applicazioni dei LLM: la libreria PandasAI. La guida a PandasAI può essere considerata una fusione tra la popolare libreria Pandas di Python e il GPT di OpenAI. È estremamente potente per ottenere rapidamente informazioni dai dati senza scrivere molto codice.

Obiettivi di apprendimento

  • Comprendere le differenze tra Pandas e PandasAI
  • PandasAI e il suo ruolo nell’analisi dei dati e nella visualizzazione
  • Utilizzare PandasAI per costruire un flusso di lavoro completo di analisi esplorativa dei dati
  • Comprendere l’importanza di scrivere prompt chiari, concisi e specifici
  • Comprendere i limiti di PandasAI

Questo articolo è stato pubblicato come parte del Data Science Blogathon.

PandasAI

PandasAI è un nuovo strumento per semplificare le attività di analisi dei dati e di visualizzazione. PandasAI è costruito con la libreria Pandas di Python e utilizza l’Intelligenza Artificiale Generativa e i LLM nel suo lavoro. A differenza di Pandas, in cui è necessario analizzare e manipolare i dati manualmente, PandasAI consente di generare informazioni dai dati semplicemente fornendo un prompt di testo. È come dare istruzioni al tuo assistente, che è esperto e competente e può fare il lavoro per te rapidamente. L’unica differenza è che non è un essere umano, ma una macchina che può comprendere e elaborare le informazioni come un essere umano.

In questo articolo, esaminerò l’intero processo di analisi dei dati e visualizzazione utilizzando PandasAI con esempi di codice e spiegazioni. Quindi, cominciamo.

Configurare un account OpenAI ed estrarre la chiave API

Per utilizzare la libreria PandasAI, è necessario creare un account OpenAI (se non ne hai già uno) e utilizzare la tua chiave API. Puoi farlo come segue:

  1. Vai su https://platform.openai.com e crea un account personale.
  2. Accedi al tuo account.
  3. Fai clic su Personal in alto a destra.
  4. Seleziona View API keys dal menu a discesa.
  5. Crea una nuova chiave segreta.
  6. Copia e salva la chiave segreta in una posizione sicura sul tuo computer.

Se hai seguito i passaggi sopra indicati, sei pronto per sfruttare la potenza dell’Intelligenza Artificiale Generativa nei tuoi progetti.

Installazione di PandasAI

Scrivi il comando seguente in un notebook Jupyter/Google colab o in un terminale per installare il pacchetto Pandasai sul tuo computer.

pip install pandasai

L’installazione richiederà del tempo, ma una volta installato, puoi importarlo direttamente in un ambiente Python.

from pandasai import PandasAI 

Questo importerà PandasAI nel tuo ambiente di codifica. Siamo pronti per usarlo, ma prima otteniamo i dati.

Ottenere i dati e istanziare un LLM

Puoi utilizzare qualsiasi dati tabellari che preferisci. In questo tutorial userò i dati sulle spese mediche. (Nota: PandasAI può analizzare solo dati tabellari e strutturati, come Pandas regolare, non dati non strutturati, come immagini).

I dati hanno questo aspetto.

Il valore mediano della colonna delle spese è approssimativamente 9382. Nel grafico, questo è rappresentato dalla linea arancione al centro della scatola. È evidente che la colonna delle spese contiene molti valori anomali, che sono mostrati dai cerchi nel grafico precedente.

Adesso creiamo alcuni grafici che mostrano la relazione tra più di una colonna.

Regione vs. Fumatore

prompt = "Crea un grafico a barre orizzontali di regione vs fumatore. Riduci la dimensione della legenda."
pandas_ai(data, prompt=prompt)

Dal grafico, si può facilmente notare che la regione del sudest ha il maggior numero di fumatori rispetto alle altre regioni.

Variazione delle spese con l’età

prompt = '''Crea un grafico a dispersione dell'età con le spese e colora utilizzando i valori dei fumatori.
            Fornisci anche le legende.'''
pandas_ai(data, prompt=prompt)

Sembra che l’età e le spese seguano una relazione lineare per i non fumatori, mentre non esiste un pattern specifico per i fumatori.

Variazione delle spese con l’IMC

Per complicare un po’ le cose, cerchiamo di creare un grafico utilizzando solo una parte dei dati anziché i dati reali e vediamo come si comporta LLM.

prompt = "Crea un grafico a dispersione dell'IMC con le spese e colora utilizzando i valori dei fumatori.
          Aggiungi le legende e utilizza solo i dati delle persone che hanno meno di 2 figli."
pandas_ai(data, prompt=prompt)

Ha fatto un ottimo lavoro nel creare un grafico, anche con una domanda complessa. PandasAI ha ora svelato il suo vero potenziale. Hai assistito alla vera potenza dei Large Language Models.

Limitazioni

  • Le risposte generate da PandasAI possono talvolta mostrare dei pregiudizi intrinseci dovuti alla vasta quantità di dati su cui vengono addestrati i LLMs provenienti da internet, il che può ostacolare l’analisi. Per garantire risultati equi e imparziali, è essenziale comprendere e mitigare tali pregiudizi.
  • I LLMs possono talvolta interpretare erroneamente domande ambigue o complesse dal punto di vista contestuale, portando a risultati inaccurati o inaspettati. Bisogna fare attenzione e verificare le risposte prima di prendere decisioni critiche basate sui dati.
  • A volte può essere lento nel fornire una risposta o fallire completamente. I server ospitano i LLMs e occasionalmente problemi tecnici possono impedire che la richiesta raggiunga il server o venga elaborata.
  • Non può essere utilizzato per compiti di analisi di big data in quanto non è efficiente dal punto di vista computazionale quando si lavora con grandi quantità di dati e richiede GPU ad alte prestazioni o risorse computazionali.

Conclusioni

Abbiamo visto l’intero processo di analisi dei dati in un caso reale utilizzando la straordinaria potenza della libreria PandasAI. Quando si lavora con GPT o altri LLMs, non si può sottovalutare l’importanza di formulare una buona richiesta.

Ecco alcuni punti chiave da ricordare di questo articolo:

  • PandasAI è una libreria Python che aggiunge capacità di Intelligenza Artificiale Generativa a Pandas, combinandola con i grandi modelli di linguaggio.
  • PandasAI rende Pandas interattivo consentendoci di porre domande in linguaggio naturale utilizzando prompt di testo.
  • Nonostante le sue straordinarie capacità, PandasAI ha le sue limitazioni. Non fidarti ciecamente o utilizzalo per casi d’uso sofisticati come l’analisi di big data.

Grazie per essere arrivato fino alla fine. Spero che tu abbia trovato utile questo articolo e che inizierai a utilizzare PandasAI per i tuoi progetti.

Domande frequenti (FAQ)

Q1. PandasAI è un sostituto di pandas?

A. No, PandasAI non è un sostituto di pandas. Esso potenzia pandas utilizzando le capacità di intelligenza artificiale generativa ed è stato creato per integrarsi con pandas, non per sostituirlo.

Q2. Per quali scopi può essere utilizzato PandasAI?

A. Utilizza PandasAI per l’esplorazione e l’analisi dei dati e per i tuoi progetti sotto la licenza MIT, che è una licenza permissiva. Non utilizzarlo per scopi di produzione.

Q3. Quali LLM supporta PandasAI?

A. Supporta diversi Large Language Models (LLM) come OpenAI, HuggingFace e Google PaLM. Puoi trovare l’elenco completo qui.

Q4. In cosa si differenzia da pandas?

A. In pandas, devi scrivere manualmente l’intero codice per eseguire l’analisi dei dati, mentre PandasAI utilizza prompt di testo e linguaggio naturale per eseguire l’analisi dei dati senza la necessità di scrivere codice.

Q5. PandasAI fornisce sempre la risposta corretta?

A. No, può occasionalmente fornire risposte errate o incomplete a causa di prompt ambigui forniti dall’utente o a causa di qualche pregiudizio nei dati.

I media mostrati in questo articolo non sono di proprietà di Analytics Vidhya e vengono utilizzati a discrezione dell’autore.