Mit tanultam a ChatGPT for Data Science használatából - KDnuggets

Mit tanultam a ChatGPT for Data Science használatából – KDnuggets

Forrás csomópont: 3093078

Mit tanultam a ChatGPT for Data Science használatából
A kép szerzője
 

Egyetlen leckét tanultam a ChatGPT használatából. Csodálatosan hasznos az adattudományban, de alaposan meg kell vizsgálnia mindent, amit kiad. Egyes feladatokhoz nagyszerű, és nagyon gyorsan és pontosan tudja elvégezni azokat. Néhány más feladathoz ez elég jó, és többször meg kell kérnie. És van egy feladat, amiben a ChatGPT kifejezetten rossz.

Adatkészletét csatolhatja a ChatGPT-üzenethez, és néhány egyszerű utasítás megadásával a ChatGPT feltárhatja az Ön adatait.

Például kivehetek egy adatkészletet innen ezt az adatprojektet. Az általam adott utasítások a következők:

„A mellékelt adatok segítségével leíró statisztikai elemzést végezzen. A következőket tartalmazzák:

  • Foglalja össze az alapvető statisztikákat (átlag, medián, szórás stb.).
  • Azonosítsa a hiányzó értékeket, és javasoljon stratégiákat ezek kezelésére.”

Az így néz ki összefoglalót adja vissza. Minden változóra ugyanazt a számítást végzi el.

Kor:

  • Átlag: 28.79 év
  • Szórás: 6.94 év
  • Hatótáv: 18-50 év

Ezenkívül nem azonosított hiányzó értékeket az adatkészletben.

Ha a Python-kódra is szüksége van ezekhez a számításokhoz, kérheti, hogy írja be őket.

Az adatkészlet betöltéséhez használja ezt a kódot.

aerofit_data = pd.read_csv(file_path)

Az alapvető statisztikákhoz ezt adja meg.

basic_stats = aerofit_data.describe()

És ezzel a kóddal ellenőrizheti a hiányzó értékeket.

missing_values = aerofit_data.isnull().sum()

Továbbá megkérhetem a ChatGPT-t, hogy vizualizálja a kulcsváltozók eloszlását, és észlelje a lehetséges kiugró értékeket és anomáliákat.

Hisztogramokat és dobozdiagramokat hoz létre a legfontosabb változókhoz: Életkor, Jövedelem és Mérföld. Lehetséges kiugró értékeket észlelt a bevétel és mérföld eloszlásban.

 

Mit tanultam a ChatGPT for Data Science használatából
Készítette: Author/ChatGPT
 
Mit tanultam a ChatGPT for Data Science használatából
Készítette: Author/ChatGPT
 

A vizualizációkat is értelmezi. Tehát észreveszi, hogy a bevételek eloszlása ​​jobbra ferde, ami azt jelzi, hogy a legtöbb ügyfél a spektrum alsó határán van, és kevesebben keresnek lényegesen magasabb jövedelmet. A boxplot azt sugallja, hogy vannak kiugró értékek a magasabb végén.

 

Mit tanultam a ChatGPT for Data Science használatából
Készítette: Author/ChatGPT
 
Mit tanultam a ChatGPT for Data Science használatából
Készítette: Author/ChatGPT
 

Ugyanez az értelmezés érvényes a Miles-eloszlásra is: jobbra ferde és kiugró értékek a magasabb végén.

Figyelembe véve az adatok természetét, ez arra utal, hogy ezek a kiugró értékek nem feltétlenül tévedések, hanem egy adott ügyfélszegmenst képviselnek. A ferde eloszlások tekintetében transzformációkat (pl. naplótranszformáció) javasol az adatok normalizálására.

Természetesen megkérheti, hogy írjon Python-kódot ezekhez a vizualizációkhoz.

Ugyanazokat az adatokat használhatom, és megkérdezhetem a ChatGPT-től, hogy alkalmas-e rá logisztikus regresszió. És ha nem, mit tegyek, hogy megfelelővé alakítsam?

Azt válaszolta, hogy adataim elsősorban folyamatos adatok leíró és következtetéses elemzésére alkalmasak.

Ezek az adatok logisztikus regresszióhoz való átalakításának javasolt módjai.

Hozzon létre egy bináris eredményt: Hozzon létre egy bináris eredményt az ügyfelek „magas használat” vagy „alacsony használat” kategóriába sorolásával, a Használat változó medián felosztása alapján. Ezenkívül a bináris eredmény lehet „futópad vásárlás” és „futópad vásárlás nélkül”.

Ellenőrizze a multikolinearitást: Használat korrelációs mátrix or Variancia inflációs tényező (VIF) hogy ellenőrizze a multikolinearitást. Ha multikollinearitás van, a korrelált változók eltávolíthatók vagy kombinálhatók.

Funkció méretezése: Bár a modellillesztéshez nem szükséges a jellemzők skálázása a logisztikus regresszióhoz, előnyös lehet konvergencia. Ez különösen a jelentősen eltérő léptékű jellemzőkre vonatkozik.

A nemlinearitás kezelése: Az átalakítások, mint pl log or négyzetgyök, használható olyan változókra, amelyek nem tesznek eleget a linearitási feltételezésnek.

Minta nagysága: Az adatkészletnek elég nagynak kell lennie az előrejelző változók számához képest.

Adatok előfeldolgozása: Kiugró értékek és kategorikus változók kezelése (by one-hot kódolás vagy címkekódolás) javasolt. Ezenkívül javasolja a hiányzó értékek kezelését, de ez nem vonatkozik az adataimra, mivel nincsenek hiányzó értékek.

A ChatGPT valóban hasznos lehet egy adattudományi projekt minden szakaszában. Megkérheti, hogy írjon webkaparó kódot. Utasíthatja, hogy fedezze fel és készítse elő adatait a gépi tanulási algoritmusokhoz. Kódot is adhat a megfelelő algoritmus kiválasztásához, az adatkészlet felosztásához, az A/B teszteléshez és a teljesítménynövelő algoritmusokhoz. Végül megkérheti a ChatGPT-t, hogy írjon egy kódot a modell üzembe helyezéséhez.

Bár a ChatGPT mindezt megteheti, nagyon valószínű, hogy nem kap azonnal olyan kódot, amely pontosan azt teszi, amit szeretne. Tehát meg kell értenie, hogy mit szeretne elérni, és ellenőriznie kell a kódot. Lehetséges, hogy felszólítania kell a ChatGPT-t a kódjavításra, és további utasításokat kell adnia a módosításhoz.

A ChatGPT segíthet azoknak a felhasználóknak, akik még mindig új kódolási nyelveket tanulnak. Képzelje el, hogy Ön egy SQL-mester, és nincs probléma a megoldással ezt az interjúkérdést. Azonban szeretné hozzáadni a Python-t a képességeihez. A ChatGPT segíthet ebben. Lemásolhatja az SQL-kódot, és megkérheti a ChatGPT-t, hogy konvertálja Python-ba.

Tehát az SQL kód ez.

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;

A ChatGPT a fenti SQL-kód alapján írta a Python-kódot, de nem működik megfelelően. Tehát belevágok a ChatGPT-be, amiért nem írtam a megfelelő kódot. És megkérem, hogy próbálja újra, mivel a kimenet nem ugyanaz, mint az SQL kódnál. Megpróbálja újra, és a megfelelő eredményt adja vissza.

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

Amint látja, minden kódblokk előtt szép kódot kap megjegyzésekkel. A tanulás javítása érdekében megkérheti, hogy értelmezze ezt a kódot. Így még mélyebben megismerheti az egyes kódsorok működését és módját.

Ha rosszat mondok, akkor nagyon rosszra gondolok! Arra a szintre megy, ahol a megfelelő képletet használja, és a megfelelő értékeket csatlakoztatja, de valahogy sikerül elrontania a nem túl bonyolult számításokat.

Ezt nézd meg. Megkértem, hogy oldja meg ezt a problémát: „Tegyük fel, hogy tízszer dobsz egy szép, hatoldalú kockával. Mennyi annak a valószínűsége, hogy két 10-est, három 1-t, egy 2-at, nulla 3-et, három 4-öt és egy 5-ot dobunk?”

Így számítja ki a valószínűséget.

 

Mit tanultam a ChatGPT for Data Science használatából
 

Elrontja a faktoriális számításokat. És ezt stílusosan teszi! Teljesen rossz a 2-es mondás! = 12. Nem az, hanem 2. Hogyan lehet elrontani egy egyszerű számítást, például 2×1 = 2? Ez tényleg nevetséges!

Még viccesebb, hogy egyszer, 3! = 36, másodszor pedig 3! = 6. Köszönet érte, hiszen legalább egyszer helyes volt.

Amikor megkérem, hogy minden további magyarázat nélkül javítsa ki a számítást, újra kiszámol, és 0.0001389 valószínűséggel jön ki. Nem hittem a szememnek! Pontosan ugyanazt a képletet és értékeket használhatja, és más eredményre juthat, ami még mindig rossz!

Megint kértem, hogy javítsa ki a számítást, és végül a helyes eredményt adta vissza: 0.0008336. A harmadik alkalom egy varázslat!

Igaz, ezeket a hibákat a ChatGPT 3.5 követte el. Ugyanezt a kérdést tettem fel a ChatGPT 4-nek, és az első próbálkozásra kitalálta a helyes számítást. Használhat matematikai beépülő modulokat is a biztonság érdekében.

A fő tanulság mindebből az, hogy a ChatGPT rossz úr, de nagyon jó szolga. Hasznos lehet kódírásban, hibakeresésben, elemzésben és adatok megjelenítésében. Azonban soha ne bízz benne teljesen, és soha ne vedd vizsgálat nélkül, amit ír.

Ellenőrizze a kódot, amit ír, és ellenőrizze a számításokat. Végül is Ön egy adattudós, és a ChatGPT nem az! Előfordulhat, hogy első próbálkozásra nem éri el a kívánt eredményt a ChatGPT. De ha pontosabb utasításokat ad, és többször próbálkozik, akkor valószínűleg eljut a kívánt eredményhez.
 
 

Nate Rosidi adattudós és termékstratégia. Emellett analitikát tanító adjunktus, és az alapítója StrataScratch, egy platform, amely segíti az adattudósokat az interjúkra való felkészülésben a vezető cégektől származó valódi interjúkérdések segítségével. Kapcsolatba lépni vele Twitter: StrataScratch or LinkedIn.

Időbélyeg:

Még több KDnuggets