Cosa ho imparato dall'uso di ChatGPT per la scienza dei dati - KDnuggets

Cosa ho imparato dall'uso di ChatGPT per la scienza dei dati – KDnuggets

Nodo di origine: 3093078

Cosa ho imparato dall'utilizzo di ChatGPT per la scienza dei dati
Immagine dell'autore
 

C'è una sola lezione che ho imparato dall'uso di ChatGPT. È meravigliosamente utile nella scienza dei dati, ma devi esaminare attentamente tutto ciò che produce. È ottimo per alcuni compiti e può eseguirli in modo molto rapido e preciso. Per alcune altre attività, è abbastanza buono e dovrai richiederlo più volte. E c'è un compito in cui ho scoperto che ChatGPT è assolutamente pessimo.

Puoi allegare il tuo set di dati al messaggio ChatGPT e, fornendo diverse semplici istruzioni, ChatGPT può esplorare i dati per te.

Ad esempio, posso prendere un set di dati da questo progetto di dati. Le istruzioni che ho dato sono:

“Utilizzare i dati allegati per eseguire un’analisi statistica descrittiva. Include il seguente:

  • Riepilogare le statistiche di base (media, mediana, deviazione standard, ecc.).
  • Identificare i valori mancanti e suggerire strategie per gestirli.

Restituisce il riepilogo simile a questo. Esegue lo stesso calcolo per ciascuna variabile.

Età:

  • Media: 28.79 anni
  • Deviazione standard: 6.94 anni
  • Gamma: da 18 a 50 anni

Inoltre non ha identificato valori mancanti nel set di dati.

Se hai bisogno anche del codice Python per questi calcoli, puoi chiedergli di scriverli.

Per caricare il set di dati, utilizzare questo codice.

aerofit_data = pd.read_csv(file_path)

Per le statistiche di base, fornisce questo.

basic_stats = aerofit_data.describe()

E puoi controllare i valori mancanti con questo codice.

missing_values = aerofit_data.isnull().sum()

Inoltre, posso chiedere a ChatGPT di visualizzare la distribuzione delle variabili chiave e rilevare potenziali valori anomali e anomalie.

Crea istogrammi e box plot per le variabili chiave: età, reddito e miglia. Ha rilevato possibili valori anomali nella distribuzione del reddito e delle miglia.

 

Cosa ho imparato dall'utilizzo di ChatGPT per la scienza dei dati
Creato da Autore/ChatGPT
 
Cosa ho imparato dall'utilizzo di ChatGPT per la scienza dei dati
Creato da Autore/ChatGPT
 

Interpreta anche le visualizzazioni. Quindi, si nota che la distribuzione del reddito è distorta a destra, il che indica che la maggior parte dei clienti ha un reddito nella fascia più bassa dello spettro, e un minor numero di clienti guadagna redditi significativamente più alti. Il boxplot suggerisce che ci siano alcuni valori anomali nella fascia alta.

 

Cosa ho imparato dall'utilizzo di ChatGPT per la scienza dei dati
Creato da Autore/ChatGPT
 
Cosa ho imparato dall'utilizzo di ChatGPT per la scienza dei dati
Creato da Autore/ChatGPT
 

La stessa interpretazione è applicabile alla distribuzione Miles: distorta a destra e valori anomali nella fascia più alta.

Considerando la natura dei dati, si suggerisce che questi valori anomali non siano necessariamente errori ma rappresentino piuttosto un segmento di clientela specifico. Per quanto riguarda le distribuzioni asimmetriche, suggerisce trasformazioni (ad esempio, trasformazione logaritmica) per normalizzare i dati.

Naturalmente puoi anche chiedergli di scrivere un codice Python per queste visualizzazioni.

Posso utilizzare gli stessi dati e chiedere a ChatGPT se è adatto regressione logistica. E in caso contrario, cosa dovrei fare per trasformarlo in modo appropriato?

Ha risposto che i miei dati sono adatti principalmente per l'analisi descrittiva e inferenziale di dati continui.

Questi sono i modi suggeriti per trasformare i dati per la regressione logistica.

Creare un risultato binario: Crea un risultato binario classificando i clienti come “utilizzo elevato” o “utilizzo basso in base a una suddivisione mediana nella variabile Utilizzo. Inoltre, il risultato binario può essere “acquisto di tapis roulant” rispetto a “nessun acquisto di tapis roulant”.

Verifica della multicolinearità: Utilizzare matrice di correlazione or Fattore di inflazione della varianza (VIF) per verificare la multicolinearità. Se c'è multicollinearità, le variabili correlate possono essere rimosse o combinate.

Ridimensionamento delle funzionalità: Sebbene il ridimensionamento delle funzionalità per l'adattamento del modello non sia necessario per la regressione logistica, può essere utile convergenza. Questo è vero soprattutto per elementi con scale significativamente diverse.

Affrontare la non linearità: Le trasformazioni, come ceppo or radice quadrata, può essere utilizzato per variabili che non soddisfano il presupposto di linearità.

Misura di prova: Il set di dati deve essere sufficientemente grande dato il numero di variabili predittive.

Preelaborazione dei dati: Gestione dei valori anomali e delle variabili categoriali (by codifica one-hot o codifica di etichette) è suggerito. Inoltre, suggerisce di gestire i valori mancanti, ma ciò non si applica ai miei dati, poiché non ci sono valori mancanti.

ChatGPT può effettivamente essere utile in ogni fase di un progetto di data science. Puoi richiedergli di scrivere un codice di web scraping. Puoi istruirlo a esplorare e preparare i tuoi dati per gli algoritmi di apprendimento automatico. Può anche fornirti un codice per scegliere l'algoritmo giusto, la suddivisione del set di dati, i test A/B e gli algoritmi di miglioramento delle prestazioni. Infine, puoi anche chiedere a ChatGPT di scriverti un codice per la distribuzione del modello.

Sebbene ChatGPT possa fare tutto questo, è del tutto possibile che non otterrai immediatamente un codice che faccia esattamente quello che desideri. Quindi, devi capire cosa vuoi ottenere e controllare il codice. È possibile che dovrai richiedere a ChatGPT le correzioni del codice e fornire ulteriori istruzioni su cosa modificare.

ChatGPT può aiutare gli utenti che stanno ancora imparando nuovi linguaggi di programmazione. Immagina di essere un esperto SQL e di non avere problemi da risolvere questa domanda dell'intervista. Tuttavia, vuoi aggiungere Python alle tue capacità. ChatGPT può aiutarti in questo. Puoi copiare il codice SQL e chiedere a ChatGPT di convertirlo in Python.

Quindi, il codice SQL è questo.

SELECT 
  company, 
  profit 
FROM 
  (
    SELECT 
      *, 
      rank() OVER (
        ORDER BY 
          profit DESC
      ) as rank 
    FROM 
      (
        SELECT 
          company, 
          sum(profits) AS profit 
        FROM 
          forbes_global_2010_2014 
        GROUP BY 
          company
      ) sq
  ) sq2 
WHERE 
  rank = 3;

ChatGPT ha scritto il codice Python in base al codice SQL sopra, ma non funziona correttamente. Quindi mi impegno a criticare ChatGPT per non aver scritto il codice corretto. E gli chiedo di riprovare, poiché l'output non è lo stesso del codice SQL. Riprova e restituisce il risultato corretto.

import pandas as pd

# Assuming 'forbes_global_2010_2014' is a pandas DataFrame with columns 'company' and 'profits'
# Since we don't have the actual data, this code assumes that the DataFrame is already loaded

# Step 1: Group by company and sum the profits
company_profits_sum = forbes_global_2010_2014.groupby('company')['profits'].sum().reset_index()

# Step 2: Rank the companies by profit in descending order
company_profits_sum['rank'] = company_profits_sum['profits'].rank(ascending=False, method='max')

# Step 3: Filter the top 3 companies
top_companies = company_profits_sum[company_profits_sum['rank'] = 3]

# Final selection of columns
result = top_companies[['company', 'profits']].sort_values('profits', ascending=False)

result  # This will display the top 3 companies by profit

Come puoi vedere, ottieni un bel codice con commenti prima di ogni blocco di codice. Per migliorare il tuo apprendimento, puoi chiedergli di interpretare questo codice. In questo modo, approfondirai ancora di più cosa fa ogni riga di codice e come.

Quando dico pessimo intendo davvero pessimo! Arriva al livello in cui utilizza la formula giusta e inserisce i valori giusti, ma in qualche modo riesce a confondere calcoli non così complicati.

Dai un'occhiata a questo. Gli ho chiesto di risolvere questo problema: “Supponi di lanciare un dado equilibrato a sei facce 10 volte. Qual è la probabilità che escano due 1, tre 2, un 3, zero 4, tre 5 e un 6?"

Calcola la probabilità in questo modo.

 

Cosa ho imparato dall'utilizzo di ChatGPT per la scienza dei dati
 

Si sbaglia quando si calcolano i fattoriali. E lo fa con stile! Completamente sbagliato dire 2! = 12. Non lo è, è 2. Come puoi sbagliare un calcolo semplice come 2×1 = 2? Questo è davvero ridicolo!

Ancora più divertente è che una volta, 3! = 36, e la seconda volta 3! = 6. Merito di questo, perché almeno una volta era corretto.

Quando gli chiedo di correggere il calcolo senza ulteriori spiegazioni, ricalcola e ottiene la probabilità di 0.0001389. Non potevo credere ai miei occhi! Può utilizzare esattamente la stessa formula e gli stessi valori e ottenere un risultato diverso che è comunque sbagliato!

Gli ho chiesto nuovamente di correggere il calcolo e alla fine ha restituito il risultato corretto: 0.0008336. La terza volta è un incanto!

Certo, questi errori sono stati commessi da ChatGPT 3.5. Ho posto la stessa domanda a ChatGPT 4 e al primo tentativo ho ottenuto il calcolo corretto. Potresti anche utilizzare alcuni plug-in matematici per stare dalla parte della sicurezza.

L’apprendimento principale da tutto ciò è che ChatGPT è un cattivo padrone ma un ottimo servitore. Può essere utile per scrivere codice, eseguire il debug, analizzare e visualizzare i dati. Tuttavia, non fidarti mai completamente e non prendere mai ciò che scrive senza controllo.

Controlla il codice che scrive e controlla i calcoli. Dopotutto, sei uno scienziato dei dati e ChatGPT no! Potresti non ottenere i risultati desiderati da ChatGPT al primo tentativo. Ma dandogli istruzioni più precise e provando più volte probabilmente otterrai il risultato desiderato.
 
 

Nato Rosidi è un data scientist e nella strategia di prodotto. È anche un professore a contratto che insegna analisi ed è il fondatore di Strata Scratch, una piattaforma che aiuta i data scientist a prepararsi per le loro interviste con domande di interviste reali delle migliori aziende. Connettiti con lui su Twitter: Strata Scratch or LinkedIn.

Timestamp:

Di più da KDnuggets