Kaj sem se naučil z uporabo ChatGPT za podatkovno znanost - KDnuggets

Kaj sem se naučil z uporabo ChatGPT za podatkovno znanost – KDnuggets

Izvorno vozlišče: 3093078

Kaj sem se naučil z uporabo ChatGPT za podatkovno znanost
Slika avtorja
 

Eno samo lekcijo sem se naučil z uporabo ChatGPT. Čudovito je koristen pri znanosti o podatkih, vendar morate natančno pregledati vse, kar ustvari. Odličen je za nekatere naloge in jih lahko opravi zelo hitro in natančno. Za nekatera druga opravila je dovolj dober in ga boste morali večkrat opozoriti. In obstaja ena naloga, za katero sem ugotovil, da je ChatGPT popolnoma slab.

Svoj nabor podatkov lahko priložite sporočilu ChatGPT in z več preprostimi navodili lahko ChatGPT razišče podatke namesto vas.

Na primer, lahko vzamem nabor podatkov iz ta podatkovni projekt. Navodila, ki sem jih dal, so:

»Uporabite priložene podatke za izvedbo opisne statistične analize. Vključite naslednje:

  • Povzemite osnovne statistične podatke (srednja vrednost, mediana, standardni odklon itd.).
  • Identificirajte manjkajoče vrednosti in predlagajte strategije za njihovo obravnavo.«

Vrne povzetek, ki je videti takole. Za vsako spremenljivko naredi enak izračun.

Starost:

  • Povprečje: 28.79 let
  • Standardni odklon: 6.94 leta
  • Razpon: od 18 do 50 let

Prav tako ni odkril nobenih manjkajočih vrednosti v naboru podatkov.

Če za te izračune potrebujete tudi kodo Python, ga lahko pozovete, naj jih napiše.

Za nalaganje nabora podatkov uporabite to kodo.

aerofit_data = pd.read_csv(file_path)

Za osnovno statistiko podaja tole.

basic_stats = aerofit_data.describe()

In s to kodo lahko preverite manjkajoče vrednosti.

missing_values = aerofit_data.isnull().sum()

Poleg tega lahko od ChatGPT zahtevam, da vizualizira distribucijo ključnih spremenljivk in zazna morebitne odstopanja in anomalije.

Ustvarja histograme in škatlaste diagrame za ključne spremenljivke: starost, dohodek in kilometre. Zaznal je možne odstopanja v porazdelitvi dohodka in milj.

 

Kaj sem se naučil z uporabo ChatGPT za podatkovno znanost
Ustvaril avtor/ChatGPT
 
Kaj sem se naučil z uporabo ChatGPT za podatkovno znanost
Ustvaril avtor/ChatGPT
 

Prav tako interpretira vizualizacije. Torej opazi, da je porazdelitev dohodka nagnjena v desno, kar kaže, da ima večina strank dohodek na nižjem koncu spektra, manj strank pa zasluži znatno višje dohodke. Škatla nakazuje, da je na višjem koncu nekaj odstopanj.

 

Kaj sem se naučil z uporabo ChatGPT za podatkovno znanost
Ustvaril avtor/ChatGPT
 
Kaj sem se naučil z uporabo ChatGPT za podatkovno znanost
Ustvaril avtor/ChatGPT
 

Ista razlaga velja za Milesovo porazdelitev: desno poševno in izstopajoči na zgornjem koncu.

Glede na naravo podatkov nakazuje, da ti odstopanji niso nujno napake, temveč predstavljajo določen segment strank. V zvezi s poševnimi porazdelitvami predlaga transformacije (npr. transformacijo dnevnika) za normalizacijo podatkov.

Seveda ga lahko tudi prosite, naj napiše kodo Python za te vizualizacije.

Lahko uporabim iste podatke in vprašam ChatGPT, če so primerni za logistična regresija. In če ne, kaj naj naredim, da ga spremenim tako, da bo primeren?

Odgovoril je, da so moji podatki primerni predvsem za deskriptivno in inferencialno analizo zveznih podatkov.

To so predlagani načini preoblikovanja podatkov za logistično regresijo.

Ustvarite binarni izid: Ustvarite binarni rezultat tako, da stranke kategorizirate kot »visoka uporaba« ali »nizka uporaba na podlagi mediane delitve na spremenljivki Uporaba. Poleg tega je binarni rezultat lahko "nakup tekalne steze" v primerjavi z "brez nakupa tekalne steze".

Preverite multikolinearnost: Uporaba korelacijsko matriko or Faktor inflacije variance (VIF) za preverjanje multikolinearnosti. Če obstaja multikolinearnost, je mogoče korelirane spremenljivke odstraniti ali združiti.

Skaliranje funkcij: Medtem ko skaliranje funkcij za prilagajanje modela ni potrebno za logistično regresijo, je lahko koristno za konvergenca. To še posebej velja za funkcije z bistveno različnimi lestvicami.

Boj proti nelinearnosti: Preobrazbe, kot je npr prijavi or kvadratni koren, se lahko uporabijo za spremenljivke, ki ne izpolnjujejo predpostavke o linearnosti.

Velikost vzorca: Nabor podatkov mora biti dovolj velik glede na število napovedovalnih spremenljivk.

Predhodna obdelava podatkov: Obravnava izstopajočih vrednosti in kategoričnih spremenljivk (po enkratno kodiranje ali kodiranje nalepk) je predlagano. Poleg tega predlaga obravnavo manjkajočih vrednosti, vendar to ne velja za moje podatke, saj manjkajočih vrednosti ni.

ChatGPT je dejansko lahko koristen v vsaki fazi projekta podatkovne znanosti. Lahko ga pozovete, naj napiše kodo za spletno strganje. Lahko mu naročite, naj razišče in pripravi vaše podatke za algoritme strojnega učenja. Prav tako vam lahko da kodo za izbiro pravega algoritma, razdelitev nabora podatkov, A/B testiranje in algoritme za povečanje zmogljivosti. Nazadnje lahko tudi prosite ChatGPT, da vam napiše kodo za uvedbo modela.

Čeprav ChatGPT zmore vse to, je povsem možno, da ne boste takoj dobili kode, ki bi delala točno to, kar želite. Torej morate razumeti, kaj želite doseči, in preveriti kodo. Možnost je, da boste morali ChatGPT pozvati k popravkom kode in zagotoviti več navodil, kaj spremeniti.

ChatGPT lahko pomaga uporabnikom, ki se še učijo novih kodirnih jezikov. Predstavljajte si, da ste mojster SQL in nimate težav pri reševanju to vprašanje za intervju. Vendar pa želite svojim veščinam dodati Python. Pri tem vam lahko pomaga ChatGPT. Lahko kopirate kodo SQL in prosite ChatGPT, da jo pretvori v Python.

Torej, koda SQL je to.

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 je napisal kodo Python na podlagi zgornje kode SQL, vendar ne deluje pravilno. Zato grajam ChatGPT, ker ni napisal pravilne kode. In prosim ga, naj poskusi znova, saj rezultat ni enak kot pri kodi SQL. Poskusi znova in vrne pravilen rezultat.

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

Kot lahko vidite, dobite lepo kodo s komentarji pred vsakim blokom kode. Če želite izboljšati svoje učenje, ga lahko prosite za razlago te kode. Tako se boste še bolj poglobili v to, kaj vsaka kodna vrstica počne in kako.

Ko rečem slabo, mislim res slabo! Gre do stopnje, ko uporabi pravo formulo in vstavi prave vrednosti, vendar nekako uspe zamočiti ne tako zapletene izračune.

Oglejte si to. Prosil sem ga za rešitev te težave: »Predpostavimo, da 10-krat vržete pošteno šeststransko kocko. Kakšna je verjetnost, da vržete dve 1, tri 2, eno 3, nič 4, tri 5 in eno 6?«

Na ta način izračuna verjetnost.

 

Kaj sem se naučil z uporabo ChatGPT za podatkovno znanost
 

Moti se pri izračunu faktoriala. In to počne s stilom! Popolnoma napačno rečeno 2! = 12. Ni, ampak 2. Kako lahko pokvarite preprost izračun, kot je 2×1 = 2? To je res smešno!

Še bolj smešno je, da enkrat, 3! = 36, drugič pa 3! = 6. Vsa čast, saj je bilo vsaj enkrat pravilno.

Ko ga prosim, naj popravi izračun brez nadaljnje razlage, znova izračuna in prikaže verjetnost 0.0001389. Nisem mogla verjeti svojim očem! Lahko uporabi popolnoma isto formulo in vrednosti ter pride do drugačnega rezultata, ki je še vedno napačen!

Ponovno sem ga prosil, naj popravi izračun, in končno je vrnil pravilen rezultat: 0.0008336. Tretjič je čar!

Res je, da je te napake naredil ChatGPT 3.5. Enako vprašanje sem postavil ChatGPT 4, ki je v prvem poskusu izvedel pravilen izračun. Da ostanete na varni strani, lahko uporabite tudi nekaj matematičnih vtičnikov.

Glavno učenje iz vsega tega je, da je ChatGPT slab gospodar, a zelo dober služabnik. Lahko je v pomoč pri pisanju kode, odpravljanju napak, analizi in vizualizaciji podatkov. Vendar mu nikoli popolnoma ne zaupajte in tega, kar piše, nikoli ne jemljite brez pregleda.

Preverite kodo, ki jo piše, in preverite izračune. Konec koncev ste podatkovni znanstvenik, ChatGPT pa ni! Morda ne boste dobili želenih rezultatov s ChatGPT ob prvem poskusu. Toda z natančnejšimi navodili in večkratnim poskusom boste verjetno prišli do želenega rezultata.
 
 

Nate Rosidi je podatkovni znanstvenik in v strategiji izdelkov. Je tudi izredni profesor, ki poučuje analitiko in je ustanovitelj StrataScratch, platforma, ki pomaga podatkovnim znanstvenikom pri pripravi na intervjuje z resničnimi vprašanji za intervjuje vrhunskih podjetij. Povežite se z njim Twitter: StrataScratch or LinkedIn.

Časovni žig:

Več od KDnuggets