Bölüm 9 / 11

Kod döretmek: Python (pandalar) we SQL bilen AI-kömekçi derňew

Girdeji:

  • Ygtybarly SQL we panda kodlaryny alyp, emeli intellektlere anyk shema we maksat bermek arkaly ony setirde okamak we barlamak ukyby;
  • Birleşmek / JOIN-den soň hatar sanamak, laýyk funksiýa we geçiriş ýaly sessiz ýalňyşlyklary tutmak ukyby
  • Meseläni dymmazdan çözüp bilmek we kody önümçilik gurşawynda barlamazdan işlemekden saklanmak

Maglumat ylmynyň iki esasy dili bar: SQL (Strukturalaşdyrylan talap dili - maglumat bazalaryndan maglumatlary soramagyň dili) we Python (esasanam panda kitaphanasy - tablisalary programma taýdan dolandyrmagyň standart guraly). Bu bölümde, AI-ni kod hyzmatdaşy hökmünde ulanmagy öwreneris: dogry soraglar bilen ondan berk SQL we panda kodlaryny almak, şol kody okamak we tassyklamak, düzetmek we hiç haçan kör işlemezlik. AI minutlaryň ýerine sekuntlarda gaýtalanýan kod ýazýar; Itöne öndürýän kody dogry sütün bilen dogry sütüni gaýtadan işleýändigine göz ýetirmek siziň işiňizdir. Iş kody dogry kody aňlatmaýar.

AI bilen kod öndürmek näme üçin güýçli, ýöne töwekgelçilikli

AI kod döretmekde üç sany uly peýdany üpjün edýär: tizlik (sekuntda 30 setirli toparlaýyn pivot operasiýasy ýazýar), ýatlatma (ýatdan çykaran panda funksiýaňyzy ýada salýar) we öwretmek (kod setirini setir bilen düşündirýär). Threeöne üç töwekgelçiligi öz içine alýar: sessiz logiki ýalňyşlyk (nädogry sütüni jemleýän kod ýalňyşsyz işleýär), sazlanan funksiýa (ýok usuly teklip edýär) we duzak döredýär (kiçi maglumatlaryň üstünde işleýän, ýöne 10 million hatar çökýär). Şonuň üçin altyn düzgün: AI koduny özüňiz ýazan ýaly okaň. Düşünmedik setiriňizi işletmäň.

SQL: maglumatlary çeşmede işlemek

SQL maglumatlar bazasyndan maglumatlary almaga we şol ýerde gaýtadan işlemäge mümkinçilik berýär; Pythona çekmän millionlarça setiri jemläp bilersiňiz. Esasy gurluşyk bloklary: SELECT (haýsy sütünler), WHERE (haýsy hatar), GROUP BY (topar we jemlemek), JOIN (tablisalara goşulmak), HAVING (topardan soňky süzgüç). AI çylşyrymly JOIN-leri we penjire funksiýalaryny ýazmakda örän peýdaly, ýöne iki zady barlamagy unutmaň: dogry açar arkaly JOIN (nädogry açar hatarlary köpeldýär) we süzgüç logikasy dogry (esasanam NULL özüni alyp barşy we senesi aralygy).

Üns beriň: AI-den döredilen SQL talapyny gönüden-göni önümçilik maglumatlar bazasyna garşy işletmäň. Ilki kiçi göçürme ýa-da LIMIT bilen synap görüň. Hiç haçan WHERE şertini tassyklamazdan UPDATE / DELETE talaplaryny işletmäň; TERJIME EDIP BOLAN WHERDE nädogry.

Python / pandalar: çeýe derňew

pandalar Python-da tablisalary (DataFrame) dolandyrmagyň adaty usulydyr. AI-ni iň netijeli ulanmak, oňa anyk shema we maksat bermekdir. Iň köp ulanylýan amallar: süzgüç, toparlaýyn, birleşmek, pivot_table, ulanyň. AI bulary çalt ýazýar; Barlamak isleýän zadyňyz logika: dogry sütündäki toparlanmak, birleşmek garaşylmadyk hatar sanyny üýtgetdimi (birleşenden soň hatarlaryň sanyny hemişe barlaň), asyl nusgasyny üýtgedýän zynjyr amallary.

geleşik

SQL

pandalar

barlag nokady

Süzmek

NIRE

df [df.x> 5]

NULL / NaN özüni alyp barşy

toparlara bölmek

GROUP BY

df.groupby ()

Dogry sütünmi?

birleşdirmek

JOIN

df.merge ()

Setirleriň sanyny üýtgetmek

Gysgaça mazmun

AVG (), SUM ()

.mean (), .sum ()

Haýsy sütün ýygnaldy

Tertipleşdir

Buýruk

.sort_values ()

Ectionol (ýokarlanmak / aşak düşmek)

köpeltmek

AISTRATMAK

.drop_duplicates ()

Haýsy sütünlerde?

Düzediş: AI bilen

Kod şowsuz bolanda, AI ajaýyp düzediş hyzmatdaşydyr. Doly säwlik habaryny we degişli kod parçasyny beriň. Emma iki duzakdan ägä boluň. Ilki bilen, AI ýalňyşlygy “dymdyrýan” çözgüdi teklip edip biler (meselem, duýduryşlary gizlemek) - bu ýalňyşlygy düzetmeýär, gizleýär. Ikinjiden, AI käwagt bir meseläni “çözmek” bilen başga bir gylyk-häsiýeti üýtgedýär. Düzgün: düzedişe düşüniň, sessiz çözmäň we düzedişden soň çykyşyň dogrudygyny barlaň.

Düşündirip bolýan we saklap boljak kod isleýärsiňiz

AI-den kod satyn alanyňyzda, diňe "işleýän" kod däl-de, okalýan we dowam edip boljak kod soraň. Siz ýa-da işdeşiňiz bu kody birnäçe aýdan soň açsa, näme edýändigine düşünmeli. Munuň üçin AI-de üç zady öz içine almagy endik ediniň: manyly üýtgeýän atlar (sargytlar_temiz, df2 däl), möhüm ädimlerde gysga düşündiriş setirleri (näme üçin edilmeýändigini düşündirmek) we jadyly belginiň ýerine ady hemişelik (kodda gömülen 0.85 ýerine ACCEPT_ESIGI = 0.85). Şeýle hem uzyn bir setirli zynjyrlardan gaça duruň (bir setirde bäş hereketi birleşdiriň); bulary düzetmegi kynlaşdyrýar. Düzgüne görä, AI köplenç gysga we “akylly” kod öndürýär; "Okalýan, düşündirip bolýan, dowam etdirip bolýan ýaz" diýseňiz, has ygtybarly netije alarsyňyz. Bu hem köpelmek üçin esas (10-njy bölüm): düşünilmedik kod, ygtybarly gaýtadan işläp bolmaýan kod.

üç sany kiçi halat

1-nji waka - JOIN köpeltmek. Analitik sargytlary önüm tablisasy bilen birleşdirdi we umumy haryt dolanyşygynyň 3 esse ýokarydygyny gördi. Sebäp: her önümiň önüm tablisasynda birnäçe hatar (dürli reňk) bardy; JOIN her buýrugy köpeltdi. AI kody "işleýärdi", ýöne setirleriň sany 240 müňden 690 müňe çenli ýokarlandy. Sapak: birleşdirilenden / JOIN-den soň setirleriň sanyny hemişe barlaň.

2-nji hadysa - laýyklyk funksiýasy. AI df.groupby ('x') teklip etdi. Pandalarda beýle usul ýok (.agg () bar). Kod işlemedi, tejribe 20 minut ýitdi. Sapak: resminamadan tanamaýan funksiýaňyzy barlaň; AI usullary düzüp biler.

3-nji hadysa - Hasyl çökmegi. Bir kod her hatar üçin maglumat bazasyny soraýardy; 5000 setirde işledi, 4 million setirde 9 sagat dowam etdi we saklandy. AI wektorlaşdyrylan (partiýa) çözgüdi teklip edeninde wagt 40 sekuntda gysgaldyldy. Sapak: kiçi maglumatlaryň üstünde işleýän kod uly maglumatlaryň üstünde ýykylyp biler; Netijeliligi göz öňünde tutuň.

Göçürip boljak dört şablon

1) shema bilen SQL talap etmek:

Siziň roluňyz: SQL kömekçisi (PostgreSQL). Tablisalar: - sargytlar (id, müşderi_id, senäniň möhleti, mukdar sany) - müşderiler (id, şäher teksti) Wezipe: 2024-nji ýylda şäher boýunça umumy dolanyşygy we sargyt sanyny aşaklama tertibi boýunça tertipläň. NULL şäherlerini nähili alyp barýandygyňyzy düşündiriň. Talaby ilki LIMIT bilen synap görerin; Täzelenme / Öçürmek.

2) barlag nokady bilen pandalar prosesi:

Mende DataFrames df (sargytlar) we df_customers (müşderiler) bar. Şähere ortaça mukdary hasaplaň. Möhüm: birleşdirilmezden ozal we soň hatar sanyny çap ediň, şonuň üçin köpeltmegiň bardygyny ýa-da ýokdugyny görerin. Haýsy sütünde birleşendigiňizi we içki / çepe näme üçin saýlandygyňyzy düşündiriň.

3) Kod düşündirişi we tassyklamasy:

Aşakdaky panda kodlaryny setir boýunça düşündiriň: her setir näme edýär, haýsy çaklamalary edýär, haýsy ýagdaýlarda nädogry netijeleri berip biler? Galplyk funksiýasyny ulanandygymy maňa habar beriň. Kod: [paste]

4) Düzediş:

Bu kod bu ýalňyşlygy berýär. Doly säwlik habary: [ýelme]. Kod: [ýelme]. Erroralňyşlygyň ROOT sebäbini düşündiriň we düzediň. Duýduryşy dymdyrmak bilen däl-de, hakykatda meseläni çözmek arkaly düzediň. Şeýle hem düzedişiň çykyşy üýtgedendigini ýa-da ýokdugyny görkeziň.

Gowşak haýyş / Güýçli haýyş

Gowşak haýyş:

Her şäherde satuw berýän sorag ýazyň.

Tablisa atlary, sütünler, maglumat bazasynyň görnüşi, NULL häsiýeti düşnüksiz. AI umumydyr, belki stoluňyza laýyk gelmeýän talap döreder.

Güýçli haýyş:

Siziň roluňyz: SQL kömekçisi (MySQL 8). Tablisa: satuw (id, şäher warçary, onluk mukdar, senäniň senesi). Wezipe: 2024-nji ýyl üçin şäherdäki sargytlaryň umumy we ortaça mukdaryny alyň; Jemi mukdarda azalmak; Diňe 100-den gowrak sargytly şäherleri görkeziň (HAVING) .NULL şäheri hasaba almaň. Talaby düşündiriň; LIMIT bilen synag ederin.

Bu ýerde maglumat bazasy, shema, süzgüç, sortlamak we NULL düzgüni görnüp dur.

Adaty ýalňyşlyklar

  • Kody okamazdan işletmek. Iş kody dogry kod däl; Nädogry sütüni dolandyrýan kod hem ýalňyşsyz işleýär.
  • Birleşmekden / JOIN-den soň hatar sanyny barlamazlyk. Nädogry açar ýuwaşlyk bilen hatarlary köpeldýär we jemi çişirýär.
  • Gabat gelýän funksiýany barlamazlyk. AI ýok usullary teklip edip biler; Resminamadan tanamaýandygyňyzy tassyklaň.
  • Netijelilik hakda pikir etmeýärin. millionlarça hatarda ownuk maglumatlar heläkçiliginiň üstünde işlemek / aýlaw; wektorlaşdyryň.
  • Göni önümçilik maglumatlar bazasynda işlediň. Esasanam WHERE bolmasa UPDATE / DELETE işletmek ýa-da synag etmek zyýanly.
Maslahat: AI-den alýan kodlaryňyzyň her bir bölegine "tassyklama çyzygy" goşmak endigine giriň: deslapky we gaýtadan işlemegiň sanlary, birnäçe nusga setirleri we el bilen möhüm jemi. Bu üç barlag, iň sessiz logiki ýalňyşlyklary tutýar.

Gysgaça

AI SQL we panda kodlaryny çalt öndürýän güýçli hyzmatdaş, ýöne bu kör ygtyýar däl. Oňa shemany we maksady aýdyň beriň; Öndürýän koduny özüňiz ýazan ýaly okaň; Birleşmekden / JOIN-den soň hatar sanyny, laýyk funksiýalary we geçirişini barlaň; Önümçilik maglumatlar bazasynda barlamazdan işletmäň. Çözülende meseläni dymdyrmak däl-de, çözmegi maksat ediniň. Işleýän kod dogry kod däl; Takyklygyny diňe kepillendirip bilersiňiz.

Programma meselesi

Derňew soragyny saýlaň (meselem, “her kanalda aýlyk dolanyşyk”) we AI-den SQL we panda bilen kod soraň. Iki kod setirini hem setir boýunça okaň, birleşenden / JOIN-den soň setirleriň sanyny barlaň we iň azyndan bir möhüm jemi el bilen barlaň. Iki koduň birmeňzeş netije berýändigini deňeşdiriň; Başga bolsa, munuň sebäbini biliň.

gözegçilik sanawy

  • [] AI-e tablisany / shemany we maksadyny aç-açan berdimmi?
  • [] Çyzyk boýunça öndüren koduny okadym we düşündimmi?
  • [] Birleşmekden / JOIN-den soň setirleriň sanyny barladymmy?
  • [] Resminamalardan tanamaýan funksiýalarymy barladymmy?
  • [] Kody ilki önümçilik gurşawynda däl-de, howpsuz / kiçi maglumatlarda barladymmy?