Mitä opin ChatGPT:n käyttämisestä datatieteessä - KDnuggets

Mitä opin ChatGPT:n käytöstä datatieteessä – KDnuggets

Lähdesolmu: 3093078

Mitä opin ChatGPT:n käytöstä datatieteessä
Kuva tekijältä
 

Opin yhden ainoan oppitunnin ChatGPT:n käytöstä. Se on loistavasti hyödyllinen datatieteessä, mutta sinun on tutkittava kaikki, mitä se tuottaa. Se sopii erinomaisesti joihinkin tehtäviin ja pystyy tekemään ne erittäin nopeasti ja tarkasti. Joihinkin muihin tehtäviin se riittää, ja sinun on kehotettava sitä useita kertoja. Ja eräässä tehtävässä huomasin, että ChatGPT on todella huono.

Voit liittää tietojoukkosi ChatGPT-viestiin, ja antamalla useita yksinkertaisia ​​ohjeita ChatGPT voi tutkia tietoja puolestasi.

Voin esimerkiksi ottaa tietojoukon tämä dataprojekti. Antamani ohjeet ovat:

"Käytä liitteenä olevia tietoja kuvaavan tilastollisen analyysin tekemiseen. Sisällytä seuraavat:

  • Tee yhteenveto perustilastoista (keskiarvo, mediaani, keskihajonta jne.).
  • Tunnista puuttuvat arvot ja ehdota strategioita niiden käsittelemiseksi."

Se palauttaa yhteenvedon, joka näyttää tältä. Se tekee saman laskennan jokaiselle muuttujalle.

Ikä:

  • Keskiarvo: 28.79 vuotta
  • Keskihajonta: 6.94 vuotta
  • Alue: 18-50 vuotta

Se ei myöskään tunnistanut puuttuvia arvoja tietojoukosta.

Jos tarvitset myös Python-koodin näihin laskelmiin, voit pyytää sitä kirjoittamaan ne.

Lataa tietojoukko käyttämällä tätä koodia.

aerofit_data = pd.read_csv(file_path)

Perustilastoja varten se antaa tämän.

basic_stats = aerofit_data.describe()

Ja voit tarkistaa puuttuvat arvot tällä koodilla.

missing_values = aerofit_data.isnull().sum()

Lisäksi voin pyytää ChatGPT:tä visualisoimaan avainmuuttujien jakauman ja havaitsemaan mahdolliset poikkeamat ja poikkeamat.

Se luo histogrammeja ja laatikkokaavioita keskeisille muuttujille: ikä, tulot ja mailit. Se havaitsi mahdollisia poikkeavuuksia Tulot ja mailit -jakaumassa.

 

Mitä opin ChatGPT:n käytöstä datatieteessä
Tekijä/ChatGPT
 
Mitä opin ChatGPT:n käytöstä datatieteessä
Tekijä/ChatGPT
 

Se myös tulkitsee visualisointeja. Joten se huomaa, että tulojakauma on oikealle vino, mikä osoittaa, että useimmat asiakkaat saavat tulot spektrin alemmassa päässä ja harvemmat asiakkaat ansaitsevat huomattavasti korkeampia tuloja. Boxplot viittaa siihen, että yläpäässä on joitain poikkeavuuksia.

 

Mitä opin ChatGPT:n käytöstä datatieteessä
Tekijä/ChatGPT
 
Mitä opin ChatGPT:n käytöstä datatieteessä
Tekijä/ChatGPT
 

Sama tulkinta pätee Mailien jakaumaan: oikealle vino ja poikkeamat korkeammasta päästä.

Tietojen luonne huomioon ottaen se viittaa siihen, että nämä poikkeamat eivät välttämättä ole virheitä, vaan edustavat tiettyä asiakassegmenttiä. Mitä tulee vinoon jakaumaan, se ehdottaa muunnoksia (esim. log-muunnos) tietojen normalisoimiseksi.

Tietysti voit myös pyytää sitä kirjoittamaan Python-koodin näille visualisoinneille.

Voin käyttää samoja tietoja ja kysyä ChatGPT:ltä, sopiiko se logistinen regressio. Ja jos ei, mitä minun pitäisi tehdä muuttaakseni sen sopivaksi?

Se vastasi, että tietoni soveltuvat ensisijaisesti jatkuvan datan kuvaavaan ja päättelyyn perustuvaan analyysiin.

Nämä ovat ehdotettuja tapoja muuttaa dataa logistista regressiota varten.

Luo binaarinen tulos: Luo binäärinen tulos luokittelemalla asiakkaat "suureen käyttöön" tai "vähän käyttöön perustuen Käyttömuuttujan mediaanijakoon". Myös binääritulos voi olla "juoksumaton ostaminen" vs. "ei juoksumaton ostoa".

Tarkista monikolineaarisuus: Käyttää korrelaatiomatriisi or Varianssiinflaatiokerroin (VIF) monikolineaarisuuden tarkistamiseksi. Jos monikollineaarisuus on olemassa, korreloidut muuttujat voidaan poistaa tai yhdistää.

Ominaisuuden skaalaus: Vaikka ominaisuuden skaalaus mallin sovitusta varten ei ole välttämätöntä logistisen regression kannalta, siitä voi olla hyötyä lähentyminen. Tämä koskee erityisesti ominaisuuksia, joiden mittakaava on huomattavasti erilainen.

Epälineaarisuuden torjunta: Muutokset, kuten log or neliöjuuri, voidaan käyttää muuttujille, jotka eivät täytä lineaarisuusoletusta.

Otoskoko: Tietojoukon on oltava tarpeeksi suuri ottaen huomioon ennustajamuuttujien määrä.

Tietojen esikäsittely: Poikkeavien ja kategoristen muuttujien käsittely (by one-hot-koodaus tai etikettikoodaus) ehdotetaan. Lisäksi se ehdottaa puuttuvien arvojen käsittelyä, mutta tämä ei koske tietojani, koska puuttuvia arvoja ei ole.

ChatGPT voi itse asiassa olla hyödyllinen datatiedeprojektin jokaisessa vaiheessa. Voit pyytää sitä kirjoittamaan verkkokaappauskoodin. Voit ohjeistaa sen tutkimaan ja valmistelemaan tietojasi koneoppimisalgoritmeja varten. Se voi myös antaa sinulle koodin oikean algoritmin valitsemiseen, tietojoukon jakamiseen, A/B-testaukseen ja suorituskykyä parantaviin algoritmeihin. Lopuksi voit myös pyytää ChatGPT:tä kirjoittamaan sinulle koodin mallin käyttöönottoa varten.

Vaikka ChatGPT voi tehdä kaiken tämän, on täysin mahdollista, että et saa heti koodia, joka tekee juuri sen, mitä haluat. Joten sinun on ymmärrettävä, mitä haluat saavuttaa, ja tarkistettava koodi. On mahdollista, että sinun on pyydettävä ChatGPT:tä koodin korjauksia varten ja annettava lisätietoja muuttamisesta.

ChatGPT voi auttaa käyttäjiä, jotka opettelevat vielä uusia koodauskieliä. Kuvittele, että olet SQL-mestari, eikä sinulla ole ongelmia ratkaista tämä haastattelukysymys. Haluat kuitenkin lisätä Pythonin taitosi. ChatGPT voi auttaa sinua tässä. Voit kopioida SQL-koodin ja pyytää ChatGPT:tä muuttamaan sen Pythoniksi.

Joten SQL-koodi on tämä.

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 kirjoitti Python-koodin yllä olevan SQL-koodin perusteella, mutta se ei toimi oikein. Joten ryöstelen ChatGPT:tä, koska en ole kirjoittanut oikeaa koodia. Ja pyydän sitä yrittämään uudelleen, koska tulos ei ole sama kuin SQL-koodilla. Se yrittää uudelleen ja palauttaa oikean tuloksen.

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

Kuten näet, saat mukavan koodin kommenteilla ennen jokaista koodilohkoa. Parantaaksesi oppimistasi voit pyytää sitä tulkitsemaan tätä koodia. Näin saat entistä syvemmälle sen, mitä kukin koodirivi tekee ja miten.

Kun sanon pahaa, tarkoitan todella pahaa! Se menee tasolle, jossa se käyttää oikeaa kaavaa ja kytkee oikeat arvot, mutta onnistuu jotenkin sotkemaan ei niin monimutkaiset laskelmat.

Katso tämä. Pyysin sitä ratkaisemaan tämän ongelman: "Oletetaan, että heittät reilun kuusisivuisen noppaa 10 kertaa. Millä todennäköisyydellä heitetään kaksi 1s, kolme 2s, yksi 3, nolla 4s, kolme 5s ja yksi 6?"

Se laskee todennäköisyyden tällä tavalla.

 

Mitä opin ChatGPT:n käytöstä datatieteessä
 

Se sotkee ​​tekijälukuja laskettaessa. Ja se tekee sen tyylillä! Täysin väärin sanonta 2! = 12. Se ei ole, se on 2. Kuinka voit sekoittaa yksinkertaisen laskelman, kuten 2×1 = 2? Tämä on todella naurettavaa!

Vielä hauskempaa on, että kerran, 3! = 36 ja toisella kerralla 3! = 6. Kunnia sille, koska se oli ainakin kerran oikein.

Kun pyydän sitä korjaamaan laskelman ilman lisäselvityksiä, se laskee uudelleen ja saa todennäköisyydeksi 0.0001389. En voinut uskoa silmiäni! Se voi käyttää täsmälleen samaa kaavaa ja arvoja ja saada erilaisen tuloksen, joka on silti väärä!

Pyysin sitä uudelleen korjaamaan laskelman, ja lopulta se palautti oikean tuloksen: 0.0008336. Kolmas kerta on hurmaa!

Tosin nämä virheet teki ChatGPT 3.5. Kysyin ChatGPT 4:ltä saman kysymyksen, ja se sai oikean laskelman ensimmäisellä yrittämällä. Voit myös käyttää joitain matemaattisia laajennuksia pysyäksesi turvassa.

Pääasiallinen oppi tästä kaikesta on, että ChatGPT on huono isäntä, mutta erittäin hyvä palvelija. Siitä voi olla apua koodin kirjoittamisessa, virheenkorjauksessa, analysoinnissa ja tietojen visualisoinnissa. Älä kuitenkaan koskaan luota siihen täysin äläkä koskaan ota sitä, mitä se kirjoittaa, ilman tarkastelua.

Tarkista sen kirjoittama koodi ja tarkista laskelmat. Loppujen lopuksi olet tietotieteilijä, eikä ChatGPT ole! Et ehkä saa ChatGPT:ltä toivottuja tuloksia ensimmäisellä kerralla. Mutta tarkempien ohjeiden antaminen ja useita kertoja yrittäminen johtavat todennäköisesti haluttuun tulokseen.
 
 

Nate Rosidi on datatieteilijä ja tuotestrategiassa. Hän on myös analytiikkaa opettava dosentti ja perustaja StrataScratch, alusta, joka auttaa datatieteilijöitä valmistautumaan haastatteluihin huippuyritysten todellisilla haastattelukysymyksillä. Ota yhteyttä häneen Twitter: StrataScratch or LinkedIn.

Aikaleima:

Lisää aiheesta KDnuggets