Ce am învățat utilizând ChatGPT pentru știința datelor - KDnuggets

Ce am învățat utilizând ChatGPT pentru știința datelor – KDnuggets

Nodul sursă: 3093078

Ce am învățat utilizând ChatGPT pentru știința datelor
Imagine de autor
 

Există o singură lecție pe care am învățat-o folosind ChatGPT. Este minunat de util în știința datelor, dar trebuie să analizați tot ce iese. Este excelent pentru unele sarcini și le poate face foarte rapid și precis. Pentru alte sarcini, este suficient de bun și va trebui să îl solicitați de mai multe ori. Și există o sarcină la care am descoperit că ChatGPT este de-a dreptul rău.

Vă puteți atașa setul de date la mesajul ChatGPT și, dând câteva instrucțiuni simple, ChatGPT poate explora datele pentru dvs.

De exemplu, pot lua un set de date de la acest proiect de date. Instrucțiunile pe care le-am dat sunt:

„Folosiți datele atașate pentru a efectua o analiză statistică descriptivă. Includeți următoarele:

  • Rezumați statisticile de bază (medie, mediană, abatere standard etc.).
  • Identificați valorile lipsă și sugerați strategii pentru a le gestiona.”

Acesta returnează rezumatul care arată astfel. Face același calcul pentru fiecare variabilă.

Vârstă:

  • Media: 28.79 ani
  • Abaterea standard: 6.94 ani
  • Interval: de la 18 la 50 de ani

De asemenea, nu a identificat valori lipsă în setul de date.

Dacă aveți nevoie și de codul Python pentru aceste calcule, îi puteți solicita să le scrie.

Pentru a încărca setul de date, utilizați acest cod.

aerofit_data = pd.read_csv(file_path)

Pentru statisticile de bază, o oferă aceasta.

basic_stats = aerofit_data.describe()

Și puteți verifica valorile lipsă cu acest cod.

missing_values = aerofit_data.isnull().sum()

În plus, pot cere ChatGPT să vizualizeze distribuția variabilelor cheie și să detecteze potențiale valori aberante și anomalii.

Acesta creează histograme și diagrame cu casete pentru variabilele cheie: vârstă, venit și mile. A detectat posibile valori aberante în distribuția Venituri și Mile.

 

Ce am învățat utilizând ChatGPT pentru știința datelor
Creat de autor/ChatGPT
 
Ce am învățat utilizând ChatGPT pentru știința datelor
Creat de autor/ChatGPT
 

De asemenea, interpretează vizualizările. Așadar, observă că distribuția veniturilor este înclinată spre dreapta, ceea ce indică faptul că majoritatea clienților au un venit la capătul inferior al spectrului și mai puțini clienți obțin venituri semnificativ mai mari. Boxplotul sugerează că există unele valori aberante la nivelul superior.

 

Ce am învățat utilizând ChatGPT pentru știința datelor
Creat de autor/ChatGPT
 
Ce am învățat utilizând ChatGPT pentru știința datelor
Creat de autor/ChatGPT
 

Aceeași interpretare este aplicabilă distribuției Miles: declinate la dreapta și valori aberante la capătul superior.

Având în vedere natura datelor, sugerează că aceste valori aberante nu sunt neapărat erori, ci reprezintă mai degrabă un anumit segment de clienți. În ceea ce privește distribuțiile distorsionate, sugerează transformări (de exemplu, transformarea jurnalului) pentru normalizarea datelor.

Desigur, îi puteți cere și să scrie un cod Python pentru aceste vizualizări.

Pot folosi aceleași date și pot întreba ChatGPT dacă este potrivit pentru regresie logistică. Și dacă nu, ce ar trebui să fac pentru a-l transforma astfel încât să fie potrivit?

Mi-a răspuns că datele mele sunt potrivite în primul rând pentru analiza descriptivă și inferențială a datelor continue.

Acestea sunt modalitățile sugerate de transformare a datelor pentru regresia logistică.

Creați un rezultat binar: Creați un rezultat binar prin clasificarea clienților ca „utilizare ridicată” sau „utilizare scăzută pe baza unei împărțiri mediane a variabilei Utilizare. De asemenea, rezultatul binar poate fi „achiziționarea benzii de alergare” versus „fără cumpărare a benzii de alergare”.

Verificați multicoliniaritatea: Folosi matricea de corelare or Factorul de inflație al variației (VIF) pentru a verifica multicoliniaritatea. Dacă există multicoliniaritate, variabilele corelate pot fi eliminate sau combinate.

Scalare caracteristică: Deși scalarea caracteristicilor pentru adaptarea modelului nu este necesară pentru regresia logistică, poate fi benefică pentru convergență. Acesta este cazul în special pentru caracteristicile cu scale semnificativ diferite.

Abordarea non-liniarității: Transformările, precum log or rădăcină pătrată, poate fi folosit pentru variabile care nu satisfac ipoteza de liniaritate.

Marime de mostra: Setul de date trebuie să fie suficient de mare, având în vedere numărul de variabile predictoare.

Preprocesarea datelor: Gestionarea valorilor abere și a variabilelor categoriale (de către codificare one-hot sau codificare etichetă) este sugerat. În plus, sugerează gestionarea valorilor lipsă, dar acest lucru nu se aplică datelor mele, deoarece nu există valori lipsă.

ChatGPT poate fi de fapt util în fiecare etapă a unui proiect de știință a datelor. Îi puteți solicita să scrie un cod de scraping web. Îi puteți instrui să exploreze și să pregătească datele pentru algoritmii de învățare automată. De asemenea, vă poate oferi un cod pentru alegerea algoritmului potrivit, împărțirea setului de date, testarea A/B și algoritmii de creștere a performanței. În cele din urmă, puteți cere și ChatGPT să vă scrie un cod pentru implementarea modelului.

În timp ce ChatGPT poate face toate acestea, este foarte posibil să nu primiți imediat un cod care face exact ceea ce doriți. Deci, trebuie să înțelegeți ce doriți să obțineți și să verificați codul. Șansa este că va trebui să solicitați lui ChatGPT corecțiile de cod și să oferiți mai multe instrucțiuni despre ce să schimbați.

ChatGPT poate ajuta utilizatorii care încă învață noi limbaje de codare. Imaginează-ți că ești un maestru SQL și nu ai probleme de rezolvare această întrebare de interviu. Cu toate acestea, doriți să adăugați Python la abilitățile dvs. ChatGPT te poate ajuta cu asta. Puteți copia codul SQL și puteți cere ChatGPT să-l convertească în Python.

Deci, codul SQL este acesta.

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 a scris codul Python pe baza codului SQL de mai sus, dar nu funcționează corect. Așa că mă angajez în atacul ChatGPT pentru că nu scriu codul corect. Și îi cer să încerce din nou, deoarece rezultatul nu este același ca cu codul SQL. Încearcă din nou și returnează rezultatul corect.

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

După cum puteți vedea, primiți un cod frumos cu comentarii înainte de fiecare bloc de cod. Pentru a vă îmbunătăți învățarea, îi puteți cere să interpreteze acest cod. În acest fel, veți afla și mai profund ce face fiecare linie de cod și cum.

Când spun rău, vreau să spun foarte rău! Se ajunge la nivelul în care folosește formula potrivită și conectează valorile potrivite, dar reușește cumva să încurce calculele nu atât de complicate.

Aruncă o privire la asta. I-am cerut să rezolve această problemă: „Să presupunem că arunci un zar corect cu șase fețe de 10 ori. Care este probabilitatea de a da două 1, trei 2, unul 3, zero 4, trei 5 și unul 6?"

Acesta calculează probabilitatea în acest fel.

 

Ce am învățat utilizând ChatGPT pentru știința datelor
 

Se încurcă la calcularea factorilor. Și face asta cu stil! Spune complet greșită 2! = 12. Nu este, este 2. Cum poți da greșelii unui calcul simplu, cum ar fi 2×1 = 2? Acest lucru este cu adevărat de râs!

Și mai amuzant este că odată, 3! = 36, iar a doua oară 3! = 6. Merită, pentru că a fost corect cel puțin o dată.

Când îi cer să corecteze calculul fără alte explicații, calculează din nou și vine cu probabilitatea de 0.0001389. Nu-mi venea sa cred ochilor! Poate folosi exact aceeași formulă și valori și poate obține un rezultat diferit care este încă greșit!

I-am cerut din nou să corecteze calculul și, în cele din urmă, a returnat rezultatul corect: 0.0008336. A treia oară este un farmec!

Desigur, aceste greșeli au fost făcute de ChatGPT 3.5. Am pus aceeași întrebare ChatGPT 4 și a venit cu calculul corect la prima încercare. De asemenea, ați putea folosi unele pluginuri matematice pentru a rămâne în siguranță.

Principala învățare din toate acestea este că ChatGPT este un stăpân rău, dar un servitor foarte bun. Poate fi util în scrierea codului, depanarea, analizarea și vizualizarea datelor. Cu toate acestea, nu ai niciodată încredere completă în el și nu lua niciodată ceea ce scrie fără control.

Verificați codul pe care îl scrie și verificați calculele. La urma urmei, ești un cercetător al datelor, iar ChatGPT nu! Este posibil să nu obțineți rezultatele dorite de la ChatGPT la prima încercare. Dar, oferindu-i instrucțiuni mai precise și încercând de mai multe ori, probabil că vei ajunge la rezultatul dorit.
 
 

Nate Rosidi este un om de știință de date și în strategie de produs. El este, de asemenea, profesor adjunct care predă analiză și este fondatorul StrataScratch, o platformă care îi ajută pe oamenii de știință ai datelor să se pregătească pentru interviurile lor cu întrebări de interviu reale de la companii de top. Conectați-vă cu el Twitter: StrataScratch or LinkedIn.

Timestamp-ul:

Mai mult de la KDnuggets