Mida ma õppisin ChatGPT kasutamisest andmeteaduse jaoks – KDnuggets

Mida ma õppisin ChatGPT kasutamisest andmeteaduse jaoks – KDnuggets

Allikasõlm: 3093078

Mida ma õppisin ChatGPT kasutamisest andmeteaduse jaoks
Pilt autorilt
 

ChatGPT kasutamisest sain ühe õppetunni. See on andmeteaduses suurepäraselt abiks, kuid peate hoolikalt uurima kõike, mida see väljastab. See sobib mõne ülesande jaoks suurepäraselt ja saab neid väga kiiresti ja täpselt teha. Mõne muu ülesande jaoks on see piisavalt hea ja peate seda mitu korda küsima. Ja ma leidsin, et ChatGPT on ühe ülesandega täiesti halb.

Saate lisada oma andmestiku ChatGPT-sõnumile ja mitme lihtsa juhise andmisega saab ChatGPT teie eest andmeid uurida.

Näiteks võin võtta andmestiku see andmeprojekt. Minu antud juhised on järgmised:

„Kasutage lisatud andmeid kirjeldava statistilise analüüsi tegemiseks. Kaasake järgmist.

  • Tehke põhistatistika kokkuvõte (keskmine, mediaan, standardhälve jne).
  • Tuvastage puuduvad väärtused ja soovitage strateegiaid nende käsitlemiseks.

See tagastab kokkuvõtte, mis näeb välja selline. See teeb iga muutuja jaoks sama arvutuse.

vanus:

  • Keskmine: 28.79 aastat
  • Standardhälve: 6.94 aastat
  • Vanus: 18 kuni 50 aastat

Samuti ei tuvastanud see andmekogus puuduvaid väärtusi.

Kui teil on nende arvutuste jaoks vaja ka Pythoni koodi, võite paluda tal need kirjutada.

Andmestiku laadimiseks kasutage seda koodi.

aerofit_data = pd.read_csv(file_path)

Põhistatistika jaoks annab see selle.

basic_stats = aerofit_data.describe()

Ja selle koodiga saate kontrollida puuduvaid väärtusi.

missing_values = aerofit_data.isnull().sum()

Lisaks võin paluda ChatGPT-l põhimuutujate jaotust visualiseerida ning tuvastada võimalikke kõrvalekaldeid ja kõrvalekaldeid.

See loob peamiste muutujate jaoks histogrammid ja kastigraafikud: vanus, sissetulek ja miilid. See tuvastas sissetulekute ja miilide jaotuses võimalikud kõrvalekalded.

 

Mida ma õppisin ChatGPT kasutamisest andmeteaduse jaoks
Loodud autor/ChatGPT
 
Mida ma õppisin ChatGPT kasutamisest andmeteaduse jaoks
Loodud autor/ChatGPT
 

Samuti tõlgendab see visualiseerimisi. Seega märkab see, et tulude jaotus on õige viltu, mis näitab, et enamikul klientidel on sissetulek spektri alumises otsas ja vähem kliente teenib oluliselt suuremat sissetulekut. Kastijoonis viitab sellele, et kõrgemas otsas on kõrvalekaldeid.

 

Mida ma õppisin ChatGPT kasutamisest andmeteaduse jaoks
Loodud autor/ChatGPT
 
Mida ma õppisin ChatGPT kasutamisest andmeteaduse jaoks
Loodud autor/ChatGPT
 

Sama tõlgendus kehtib ka miilide jaotuse kohta: paremale kaldu ja kõrvalekalded kõrgemas otsas.

Arvestades andmete olemust, viitab see sellele, et need kõrvalekalded ei pruugi olla vead, vaid esindavad pigem konkreetset kliendisegmenti. Seoses kallutatud jaotustega soovitab see andmete normaliseerimiseks teisendusi (nt logiteisendust).

Muidugi võite paluda tal ka nende visualisatsioonide jaoks Pythoni koodi kirjutada.

Saan kasutada samu andmeid ja küsida ChatGPT-lt, kas see sobib logistiline regressioon. Ja kui ei, siis mida peaksin tegema, et see sobivaks muuta?

Sealt vastati, et minu andmed sobivad eelkõige pidevate andmete kirjeldavaks ja järelduslikuks analüüsiks.

Need on soovituslikud viisid andmete muutmiseks logistiliseks regressiooniks.

Looge binaarne tulemus: Looge binaarne tulemus, kategoriseerides kliendid "suure kasutusega" või "madala kasutusega kasutajate hulka, lähtudes muutuja Usage mediaanjaotusest. Samuti võib binaarne tulemus olla "jooksuratta ostmine" vs "jooksuraja ostmata".

Kontrollige multikolineaarsust: Kasutama korrelatsioonimaatriks or Dispersiooni inflatsioonitegur (VIF) multikolineaarsuse kontrollimiseks. Kui on olemas multikollineaarsus, saab korrelatsioonimuutujad eemaldada või kombineerida.

Funktsiooni skaleerimine: Kuigi funktsioonide skaleerimine mudeli sobitamiseks ei ole logistilise regressiooni jaoks vajalik, võib see olla kasulik lähenemine. See kehtib eriti oluliselt erineva ulatusega funktsioonide puhul.

Mittelineaarsusega tegelemine: Teisendused, nt logi or ruutjuur, saab kasutada muutujate puhul, mis ei vasta lineaarsuse eeldusele.

Näidissuurus: Andmekogum peab prognoosimuutujate arvu arvestades olema piisavalt suur.

Andmete eeltöötlus: Kõrvalväärtuste ja kategooriliste muutujate käsitlemine (by one-hot kodeering või sildi kodeering) soovitatakse. Lisaks soovitab see käsitleda puuduvaid väärtusi, kuid see ei kehti minu andmete kohta, kuna puuduvad väärtused.

ChatGPT võib tegelikult olla abiks andmeteaduse projekti igas etapis. Saate paluda sellel kirjutada veebikraapimiskood. Saate juhendada seda uurima ja oma andmeid masinõppe algoritmide jaoks ette valmistama. Samuti võib see anda teile koodi õige algoritmi valimiseks, andmestiku jagamiseks, A/B testimiseks ja jõudlust suurendavate algoritmide jaoks. Lõpuks võite paluda ChatGPT-l kirjutada teile mudeli juurutamiseks koodi.

Kuigi ChatGPT saab seda kõike teha, on täiesti võimalik, et te ei saa kohe koodi, mis teeb täpselt seda, mida soovite. Seega peate mõistma, mida soovite saavutada, ja kontrollima koodi. Võimalik, et peate küsima ChatGPT-lt koodiparandusi ja andma rohkem juhiseid selle kohta, mida muuta.

ChatGPT võib aidata kasutajaid, kes alles õpivad uusi kodeerimiskeeli. Kujutage ette, et olete SQL-i meister ja teil pole selle lahendamisega probleeme see intervjuu küsimus. Siiski soovite Pythoni oma oskustesse lisada. ChatGPT saab teid selles aidata. Saate SQL-koodi kopeerida ja paluda ChatGPT-l see Pythoniks teisendada.

Niisiis, SQL-kood on selline.

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 kirjutas Pythoni koodi ülaltoodud SQL-koodi põhjal, kuid see ei tööta õigesti. Seega löön ChatGPT-d õige koodi kirjutamata jätmise pärast. Ja ma palun tal uuesti proovida, kuna väljund pole sama, mis SQL-koodi puhul. See proovib uuesti ja tagastab õige tulemuse.

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

Nagu näete, saate enne iga koodiplokki kena koodi koos kommentaaridega. Oma õppimise parandamiseks võite paluda sellel seda koodi tõlgendada. Nii saate veelgi sügavamalt teada, mida ja kuidas iga koodirida teeb.

Kui ma ütlen halvasti, siis ma mõtlen väga halvasti! See läheb tasemele, kus see kasutab õiget valemit ja ühendab õiged väärtused, kuid suudab kuidagi segamini ajada mitte nii keerulised arvutused.

Vaadake seda. Palusin sellel probleemi lahendada: „Oletame, et viskad 10 korda korralikku kuuepoolset täringut. Kui suur on tõenäosus, et veerete kaks 1, kolm 2, üks 3, null 4, kolm 5 ja üks 6?

See arvutab tõenäosuse sel viisil.

 

Mida ma õppisin ChatGPT kasutamisest andmeteaduse jaoks
 

See ajab faktoriaalide arvutamisel sassi. Ja see teeb seda stiilselt! Täiesti vale ütlus 2! = 12. Ei ole, see on 2. Kuidas sa saad sassi ajada lihtsa arvutuse, näiteks 2×1 = 2? See on tõesti naeruväärne!

Veelgi naljakam on see, et üks kord, 3! = 36 ja teist korda 3! = 6. Au sellele, kuna see oli vähemalt korra õige.

Kui ma palun tal arvutust ilma täiendavate selgitusteta parandada, arvutab ta uuesti ja annab tõenäosuseks 0.0001389. Ma ei uskunud oma silmi! See võib kasutada täpselt sama valemit ja väärtusi ning anda teistsuguse tulemuse, mis on siiski vale!

Palusin sellel uuesti arvutust parandada ja lõpuks saadi õige tulemus: 0.0008336. Kolmas kord on võlu!

Tõsi küll, need vead tegi ChatGPT 3.5. Küsisin sama küsimuse ka ChatGPT 4-lt ja see tegi esimesel katsel õige arvutuse. Turvalisuse tagamiseks võite kasutada ka mõningaid matemaatilisi pistikprogramme.

Peamine õpetus sellest kõigest on see, et ChatGPT on halb peremees, kuid väga hea sulane. See võib olla abiks koodi kirjutamisel, silumisel, andmete analüüsimisel ja visualiseerimisel. Kuid ärge kunagi usaldage seda täielikult ja ärge kunagi võtke seda, mida see kirjutab, ilma kontrollita.

Kontrollige koodi, mille see kirjutab, ja kontrollige arvutusi. Lõppude lõpuks olete te andmeteadlane ja ChatGPT mitte! ChatGPT ei pruugi esimesel katsel soovitud tulemusi saada. Kuid täpsemate juhiste andmine ja mitu korda proovimine viib tõenäoliselt soovitud tulemuseni.
 
 

Nate Rosidi on andmeteadlane ja tootestrateegias. Ta on ka analüütikat õpetav dotsent ja asutaja StrataScratch, platvorm, mis aitab andmeteadlastel tippettevõtete tõeliste intervjuuküsimustega intervjuudeks valmistuda. Ühendage temaga Twitter: StrataScratch or LinkedIn.

Ajatempel:

Veel alates KDnuggets