Hagnaður:
- Geta til að taka öflugan SQL og Panda kóða og lesa og sannreyna hann línu fyrir línu með því að gefa skýrt stef og tilgang til gervigreindar
- Geta til að ná þöglum villum eins og röð raða, aðlögunaraðgerð og afköst eftir sameiningu/JOIN
- Geta til að leysa vandamálið í villuleit án þess að þagga það niður og forðast að keyra kóðann án þess að prófa hann í framleiðsluumhverfinu
Gagnafræði hefur tvö aðaltungumál: SQL (Structured Query Language - tungumálið til að spyrjast fyrir um gögn úr gagnagrunnum) og Python (sérstaklega Pandas bókasafnið - staðlað tól til að vinna með töflur forritunarlega). Í þessari einingu munum við læra að nota gervigreind sem kóða samstarfsaðila: fá traustan SQL og panda kóða úr honum með réttum spurningum, lesa og staðfesta þann kóða, kemba hann og keyra hann aldrei í blindni. AI skrifar endurtekinn kóða á sekúndum í stað mínútum; En það er þitt hlutverk að ganga úr skugga um að kóðinn sem hann framleiðir vinnur úr réttum dálki með réttri rökfræði. Vinnukóði þýðir ekki réttan kóða.
Af hverju að framleiða kóða með gervigreind er öflugt en áhættusamt
Gervigreind veitir þrjá stóra kosti við gerð kóða: hraði (skrifar 30 lína hóp-fyrir-snúningsaðgerð á nokkrum sekúndum), áminning (minnir þig á pönduaðgerð sem þú gleymdir) og kennslu (útskýrir kóðann línu fyrir línu). En það hefur þrjár áhættur í för með sér: þögul rökvillu (kóði sem leggur saman rangan dálk keyrir án villna), fitted function (bendir upp á aðferð sem er ekki til) og ávöxtunargildra (kóði sem virkar á litlum gögnum en hrynur við 10 milljónir raða). Svo gullna reglan: Lestu kóða gervigreindar eins og þú hafir skrifað hann sjálfur. Ekki keyra línuna sem þú skilur ekki.
SQL: vinna úr gögnum við uppruna
SQL gerir þér kleift að sækja gögn úr gagnagrunninum og vinna úr þeim þar; Þú getur tekið saman milljónir lína án þess að draga þær inn í Python. Grunnbyggingareiningar: SELECT (hvaða dálkar), WHERE (hvaða línur), GROUP BY (flokka og draga saman), JOIN (sameina töflur), HAVING (eftir-hópsía). AI er mjög hjálplegt við að skrifa flóknar JOINs og gluggaaðgerðir, en vertu viss um að athuga tvennt: er JOIN með réttum lykli (rangur lykill afritar raðir) og er síurökfræðin rétt (sérstaklega NULL hegðun og dagsetningarbil).
Varúð: Ekki keyra AI-myndaða SQL fyrirspurn beint gegn framleiðslugagnagrunninum. Prófaðu fyrst með litlu eintaki eða LIMIT. Aldrei keyra UPDATE/DELETE fyrirspurn án þess að staðfesta WHERE ástandið; Rangt WHERE getur eytt allri töflunni.
Python/pöndur: sveigjanleg greining
pandas er staðlað leið til að vinna með töflur (DataFrame) í Python. Skilvirkasta notkun gervigreindar er að gefa því skýrt kerfi og tilgang. Algengustu aðgerðir: filter, groupby, merge, pivot_table, apply. AI skrifar þetta fljótt; Það sem þú vilt athuga er rökfræðin: er flokkunin í réttum dálki, hefur sameiningin breytt fjölda lína óvænt (athugaðu alltaf fjölda raða eftir sameiningu), eru keðjuaðgerðirnar að breyta upprunalegu.
viðskipti
SQL
pöndur
eftirlitsstöð
Sía
HVAR
df[df.x > 5]
NULL/NaN hegðun
flokkun
HÓPUR EFTIR
df.groupby()
Er það réttur dálkur?
sameinast
GANGA TIL
df.merge()
Breyting á fjölda raða
Samantekt
AVG(), SUM()
.mean(), .sum()
Hvaða dálki var safnað
Raða eftir
PANTA EFTIR
.sort_values()
Stefna (hækkandi/lækkandi)
tvítekningar
AÐSKILEGT
.drop_duplicates()
Í hvaða dálkum?
Villuleit: með gervigreind
Þegar kóði bilar er gervigreind frábær kembiforrit. Gefðu henni öll villuboðin og viðeigandi kóðabút. En varast tvær gildrur. Í fyrsta lagi gæti gervigreind stungið upp á lausn sem „þaggar“ í villunni (t.d. felur viðvaranir) - þetta lagar ekki villuna, það felur hana. Í öðru lagi breytir gervigreind stundum annarri hegðun hljóðlaust á meðan hún „leysir“ vandamál. Regla: skildu lagfæringuna, leyfðu ekki að slökkva og staðfestu að úttakið sé enn rétt eftir lagfæringuna.
Vilja túlkanan og viðhalds kóða
Þegar þú kaupir kóða frá gervigreind skaltu biðja um kóða sem er læsilegur og hægt er að viðhalda, ekki bara kóða sem "virkar". Þegar þú eða samstarfsmaður opnar kóðann mánuðum síðar ætti hann að geta skilið hvað hann gerir. Til að gera þetta skaltu gera það að venju að láta gervigreind innihalda þrennt: þýðingarmikil breytuheiti (orders_temiz, ekki df2), stuttar athugasemdalínur í mikilvægum skrefum (útskýra hvers vegna, ekki hvað er verið að gera) og nafngreindan fasta í stað töfratölu (ACCEPT_ESIGI = 0,85 í stað 0,85 grafinn í kóðanum). Forðastu einnig langar einlínu keðjur (tengja fimm aðgerðir í einni línu); þetta gerir villuleit erfiða. Sjálfgefið er að gervigreind framleiðir oft hnitmiðaðan og „snjöllan“ kóða; Ef þú segir skýrt "skrifa læsilegt, túlkanlegt, viðhaldanlegt", færðu miklu viðhaldshæfara úttak. Þetta er einnig grundvöllur endurgerðanleika (eining 10): kóði sem er ekki skilinn er kóði sem ekki er hægt að endurkeyra á öruggan hátt.
þrjú smámál
Mál 1 - JOIN afritun. Sérfræðingur sameinaði pantanir við vörutöfluna og komst að því að heildarveltan var þrisvar sinnum hærri. Orsök: hver vara hafði margar raðir (mismunandi litir) í vörutöflunni; JOIN afritaði hverja pöntun. Kóði gervigreindarinnar var að „virka“ en fjöldi lína hafði hoppað úr 240 þúsund í 690 þúsund. Lexía: Athugaðu alltaf fjölda lína eftir sameiningu/JOIN.
Tilfelli 2 — Mátunaraðgerð. Hann stakk upp á AI df.groupby('x').summarize() fyrir nemi; Það er engin slík aðferð í pöndum (það er .agg()). Kóðinn virkaði ekki, nemandi týndist í 20 mínútur. Lexía: staðfestu aðgerð sem þú þekkir ekki úr skjalinu; AI getur búið til aðferðir.
Mál 3 - Hrun ávöxtunarkröfu. Einn kóði var að spyrjast fyrir um gagnagrunninn í gildi fyrir hverja línu; Það keyrði á 5.000 línum, tók 9 klukkustundir á 4 milljón línum og stöðvaðist. Þegar gervigreind stakk upp á vektorvæddri (lotu) lausn var tíminn styttur í 40 sekúndur. Lexía: Kóði sem virkar á litlum gögnum gæti hrunið á stórum gögnum; Hugleiddu skilvirkni.
Fjögur afritanleg sniðmát
1) Biðja um SQL með skema:
Hlutverk þitt: SQL aðstoðarmaður (PostgreSQL). Töflur:- pantanir(auðkenni, viðskiptavina_auðkenni, dagsetning tímastimpill, tölustafur magn)- viðskiptavina(auðkenni, borgartexti) Verkefni: Fáðu heildarveltu og fjölda pantana á hverja borg árið 2024, raðað eftir veltu í lækkandi röð. Útskýrðu hvernig þú höndlar NULL borgir. Ég mun prófa fyrirspurnina með LIMIT fyrst; UPDATE/DELETE kynslóð.
2) Panda ferli með eftirlitsstöð:
Ég er með DataFrames df (pantanir) og df_customers (customers). Reiknaðu meðalupphæð á hverja borg. MIKILVÆGT: prentaðu fjölda lína fyrir og eftir sameiningu svo ég geti séð hvort það sé tvítekning. Útskýrðu í hvaða dálki þú sameinaðir og hvers vegna þú valdir innri/vinstri.
3) Kóðaskýring og staðfesting:
Útskýrðu eftirfarandi pandakóða línu fyrir línu: hvað gerir hver lína, hvaða forsendur gefur hún sér, í hvaða tilvikum gæti hún gefið rangar niðurstöður? Láttu mig vita ef ég notaði fudge aðgerð. Kóði: [líma]
4) Villuleit:
Þessi kóði gefur þessa villu. Full villuboð: [líma]. Kóði: [líma]. Útskýrðu RÓT orsök villunnar og lagaðu hana. Lagaðu það með því að leysa vandamálið í raun, ekki með því að þagga niður viðvörunina. Tilgreindu einnig hvort lagfæringin breytti úttakinu.
Veik kvaðning / Sterk kvaðning
Veik kvaðning:
Skrifaðu fyrirspurn sem gefur mér sölu á hverja borg.
Taflanöfn, dálkar, gagnagrunnsgerð, NULL hegðun eru óljós. AI er algengt, það mun líklega framleiða fyrirspurn sem passar ekki við borðið þitt.
Öflug tilvitnun:
Hlutverk þitt: SQL aðstoðarmaður (MySQL 8). Tafla: sala(kenni, borg varchar, upphæð aukastaf, dagsetning dagsetning). Verkefni: Fáðu heildar- og meðalupphæð, fjölda pantana á hverja borg fyrir árið 2024; Raða minnkandi eftir heildarupphæð; Sýna aðeins borgir með meira en 100 pantanir (HAVING). NULL útiloka borg. Útskýrðu fyrirspurnina; Ég mun prófa með LIMIT.
Hér eru gagnagrunnur, skema, sía, flokkun og NULL regla augljós.
Algeng mistök
- Keyrir kóðann án þess að lesa hann. Vinnukóði er ekki réttur kóði; Kóðinn sem vinnur með rangan dálk keyrir líka án villna.
- Ekki athugað með fjölda lína eftir sameiningu/JOIN. Rangur lykill afritar raðir hljóðlaust og blásar upp heildartölur.
- Staðfestir ekki mátunaraðgerðina. AI gæti stungið upp á aðferðum sem eru ekki til; Staðfestu úr skjalinu að þú þekkir það ekki.
- Er ekki að hugsa um hagkvæmni. beita/lykkja vinna á litlum gagnahruni á milljónum raða; vektorisera.
- Keyra beint á framleiðslugagnagrunni. Sérstaklega að keyra UPDATE/DELETE án WHERE eða prófun er hörmulegt.
Ábending: Vendu þig á að bæta „staðfestingarlínu“ við hvern kóða sem þú færð frá gervigreindinni: fjölda lína fyrir og eftir vinnslu, nokkrar sýnislínur og mikilvæg heildarupphæð í höndunum. Þessar þrjár athuganir ná flestum þöglum rökvillum.
Í stuttu máli
Gervigreind er öflugur samstarfsaðili sem framleiðir fljótt SQL og Panda kóða, en það er ekki blind vald. Gefðu honum skýrt fyrirætlun og tilgang; Lestu kóðann sem hann framleiðir eins og þú hafir skrifað hann sjálfur; Athugaðu fjölda raða, mátunaraðgerðir og afköst eftir sameiningu/JOIN; Ekki keyra það án þess að prófa það á framleiðslugagnagrunninum. Þegar kembiforrit er ætlað að leysa vandamálið, ekki þagga það niður. Kóðinn sem virkar er ekki réttur kóði; Aðeins þú getur tryggt nákvæmni.
Umsóknarverkefni
Veldu greiningarspurningu (t.d. „mánaðarvelta á rás“) og biddu um kóða frá gervigreindinni með bæði SQL og pöndum. Lestu bæði kóða línu fyrir línu, athugaðu fjölda lína eftir sameiningu/JOIN og staðfestu handvirkt að minnsta kosti eina mikilvæga summa. Berðu saman hvort kóðarnir tveir skili sömu niðurstöðu; Ef öðruvísi, komdu að því hvers vegna.
gátlisti
- [ ] Hef ég gefið gervigreindinni skýrt töfluna/skema og tilgang?
- [ ] Las ég og skildi kóðann sem hann framleiddi línu fyrir línu?
- [ ] Athugaði ég fjölda lína eftir sameiningu/JOIN?
- [ ] Hef ég staðfest aðgerðirnar sem ég þekki ekki úr skjölunum?
- [ ] Hef ég prófað kóðann á öruggum/litlum gögnum fyrst en ekki í framleiðsluumhverfinu?