Njësia 2 / 11

Mbledhja e të dhënave dhe kuptimi i burimit: Skema, kampionimi, cilësia dhe ndërgjegjësimi për rrjedhjet

Fitimet:

  • Aftësia për të njohur burime të ndryshme të të dhënave (baza e të dhënave, API, skedari, scraping në internet) dhe kurthet e secilit dhe për të kuptuar saktë skemën
  • Aftësia për të kryer kampionim të përsëritshëm duke vlerësuar nëse kampioni përfaqëson paragjykimet e popullsisë dhe përzgjedhjes
  • Aftësia për të eliminuar rrjedhjen e të dhënave në fazën e mbledhjes dhe për të respektuar kufijtë ligjorë/etikë duke bërë pyetjen 'A do ta kem atë në momentin e parashikimit' në secilën kolonë?

Çdo analizë është po aq e mirë sa cilësia e të dhënave që mbledh. Edhe modeli më i avancuar në botë do të prodhojë rezultate jo të besueshme nëse punon me të dhëna të mbledhura gabimisht, të kampionuara në mënyrë të njëanshme ose që përmbajnë informacione për të ardhmen. Në shkencat kompjuterike, ky parim përmblidhet si "garbage in, garbage out" (garbage in, garbage out). Në këtë njësi, ne do të mbulojmë fazën e mbledhjes së të dhënave: kuptimi i burimit, marrja e mostrave, bërja e pyetjeve cilësore dhe të qenit vigjilent ndaj rrezikut të rrjedhjes së të dhënave që nga dita e parë. Inteligjenca artificiale është një ndihmë e fuqishme në këtë fazë; Shkruan pyetjen SQL, përmbledh dokumentin API, harton kontratën e të dhënave. Por është qenia njerëzore që vendos se çfarë të dhënash mblidhni dhe nëse ato të dhëna ju përfaqësojnë.

Njohja me burimet e të dhënave

Të dhënat vijnë nga vende të ndryshme dhe secili burim ka kurthet e veta. Baza e të dhënave (të dhënat e strukturuara të ruajtura në tabela, zakonisht të kërkuara me SQL) është burimi më i zakonshëm; Është i besueshëm, por është e nevojshme të kuptohet mirë skema e tij. API (Application Programming Interface) ofron të dhëna të drejtpërdrejta, por mbart rrezikun e kufizimeve të shpejtësisë dhe ndryshimeve të formatit. Skedarët (CSV, Excel, JSON) janë fleksibël, por të prirur për mospërputhje të formatit. Skrapimi i uebit është i fuqishëm, por ka kufizime ligjore dhe etike; Jo çdo faqe mund të gërvishtet.

Kujdes: Për grumbullimin e uebit dhe mbledhjen automatike të të dhënave, respektoni kushtet e përdorimit të sajtit, skedarin robots.txt dhe KVKK/GDPR. Mbledhja e paautorizuar e të dhënave krijon përgjegjësi ligjore. Në kontekstin e sigurisë së informacionit, përdorni mjetet e mbledhjes së të dhënave vetëm në sistemet për të cilat jeni i autorizuar dhe për qëllime mbrojtjeje/analitike; Qasja ose gërvishtja e paautorizuar është e ndaluar.

Kuptimi i skemës: njohja me të dhënat

Përpara se të mblidhni një grup të dhënash, duhet të kuptoni skemën e tij (emrat e kolonave, llojet e tyre të të dhënave, kuptimet e tyre dhe marrëdhëniet e tyre me njëra-tjetrën). AI është shumë i dobishëm këtu në krijimin e një "fjalori të të dhënave" - ​​një tabelë që shpjegon se çfarë do të thotë secila kolonë. Por shpjegimet që prodhon AI janë parashikime; Konfirmoni kuptimin e vërtetë të secilës kolonë me ekipin që ka prodhuar të dhënat. Për shembull, një kolonë me emrin "status" mund të përmbajë 0/1/2; Vetëm ekipi fillestar e di nëse këto janë "në pritje/miratuar/anuluar" apo diçka tjetër.

Tabela e mëposhtme përmbledh llojet bazë të burimeve dhe paralajmërimet:

Burimi

pikë e fortë

kurth

Si ndihmon AI

Baza e të dhënave SQL

Strukturore, e besueshme

BASHKIM Kompleksi

Shkruan një draft pyetësor

API

të dhëna të drejtpërdrejta

Kufiri i shpejtësisë, ndryshimi i formës

Përmbledhje dokumentesh, kodi i tërheqjes

CSV/Excel

Fleksibël, i shpejtë

Mospërputhja e formatit

Lexoni / analizoni kodin

scraping web

Shtrirje e gjerë

Kufiri ligjor/etik

Analiza e draftit (brenda autoritetit)

Të dhënat e regjistrit/ngjarjeve

të detajuara

vëllim i madh

Kërkesa e filtrimit

Ilustrim: a përfaqëson pjesa të tërën?

Shumicën e kohës, ju punoni me një kampion (një nëngrup të përzgjedhur nga popullata) dhe jo me të gjitha të dhënat. Pyetja kritike është: a përfaqëson ky kampion popullsinë? Paragjykimi i përzgjedhjes është kurthi më i zakonshëm. Për shembull, nëse mostroni vetëm përdoruesit nga aplikacioni celular, nuk do të shihni përdorues të uebit dhe rezultatet tuaja do të jenë mashtruese. Kampionimi i rastësishëm (çdo rekord ka shanse të barabarta për t'u përzgjedhur) është më i sigurti në shumicën e rasteve; por në të dhënat e serive kohore, ndarja bëhet në mënyrë kronologjike dhe jo rastësisht (këtë do ta shohim në njësitë 7 dhe 10).

Rrjedhja e ndërgjegjësimit që nga dita e parë

Rrjedhja e të dhënave është burimi i shumicës së fatkeqësive dhe zakonisht lind gjatë fazës së mbledhjes së të dhënave. Shembull: kur parashikoni "a u anulua", nëse shtoni kolonën "data e anulimit" në të dhëna, modeli shikon në të ardhmen. Gjatë fazës së mbledhjes, bëni një pyetje për secilën kolonë: "A do ta kem në të vërtetë këtë informacion në momentin që bëj parashikimin?" Nëse përgjigja është jo, ajo kolonë po rrjedh. Këtë temë do ta trajtojmë në thellësi në Kapitullin 10; Por ndërgjegjësimi duhet të fillojë që nga dita e parë.

tre mini kuti

Rasti 1 — Problemi i përfaqësimit. Një bankë mblodhi të dhëna vetëm për kreditë e miratuara për modelin e saj të rrezikut të kredisë (18,500 regjistrime). Refuzimet nuk ishin në të dhëna. Modelja ishte e gabuar në botën reale, sepse nuk e pa kurrë se si do të silleshin refuzuesit. Mësimi: mostra duhet të jetë përfaqësuese e të gjithë popullatës nga e cila po merrni vendimin tuaj.

Rasti 2 - Ndryshimi i formës së heshtur. Një ekip po tërhiqte të dhëna çmimesh nga një API çdo ditë. Një ditë, ofruesi i API ndryshoi monedhën nga USD në EUR, por emri i domenit mbeti i njëjtë. Të dhënat janë mbledhur në njësinë e gabuar për 12 ditë; U korruptuan 3200 linja. Mësimi: Kontrolloni rregullisht konsistencën e vëllimit dhe formatit në të dhënat API.

Rasti 3 - Rrjedhje e hershme. Një analist përfshiu kolonën "arsyeja e mbylljes së llogarisë" kur mblidhte të dhëna për një vlerësim "përmbysjeje". Kjo kolonë u plotësua vetëm pasi klienti u largua. Modeli dha saktësi 97% në grupin e provës; Nuk funksionoi në prodhim, sepse ajo kolonë ishte bosh në kohën e parashikimit. Mësimi: bëni çdo kolonë pyetjen "a e kam atë në kohën e parashikimit?"

Katër shabllone të kopjueshëm

1) Nxjerrja e të dhënave nga fjalori:

Roli juaj: asistent i shkencëtarit të të dhënave. Më poshtë janë emrat e kolonave dhe vlerat mostër (anonime) të një tabele. Për secilën kolonë, listoni kuptimin e saj të vlerësuar, llojin e të dhënave dhe rreziqet e mundshme të cilësisë në një tabelë. Shënoni kolonat për të cilat nuk jeni të sigurt si "kërkohet konfirmim"; kuptimi i bërjes. Kolonat: [ngjit këtu]

2) Kodi i mostrës (i rastësishëm, i përsëritshëm):

Unë kam panda df. Shkruani kodin që nxjerr një mostër përfaqësuese 5% të rastësishme nga 200,000 rreshta. Përdorni random_state=42 (për riprodhueshmëri). Shtoni kodin për të kontrolluar që shpërndarja e klasës së mostrës është e ngjashme me popullatën.

3) Pyetje për skanimin e rrjedhjeve:

Unë do t'ju jap këtë listë të kolonave. Qëllimi im është të parashikoj "a është anuluar" (0/1). Për secilën kolonë, vlerësoni nëse do ta kem në të vërtetë në momentin e parashikimit dhe shënojeni si "i sigurt / i dyshimtë / rrjedhje". Shkruani arsyetimin tuaj me një fjali. Kolonat: [lista]

4) Drafti i pyetjes tërheqëse SQL:

Unë kam tabela "porosi" dhe "klientë" në PostgreSQL. Shkruani një pyetje JOIN që kombinon porositë e 90 ditëve të fundit me qytetin e klientit dhe kthen shumën totale dhe numrin e porosive për qytet. Shpjegoni filtrin e datave dhe si trajtohen qytetet NULL. Unë do të ekzekutoj pyetjen dhe do ta verifikoj atë.

Prompt i dobët / Prompt i fortë

Njoftim i dobët:

Më tërheq një mostër të mirë të të dhënave nga kjo bazë të dhënash.

"Mirë" është e paqartë; Cila pikturë, cila periudhë, cila madhësi, cili qëllim nuk është e qartë. AI do të prodhojë vetëm një pyetje gjenerike, ndoshta të gabuar.

Njoftim i fuqishëm:

Roli juaj: asistent SQL. Unë kam një tabelë "transaksionet": ID-ja e kolonave, ID_ja e klientit, data (vula kohore), shuma (numerike), kanali (teksti: 'web'/'celular'). Detyrë: Shkruani një pyetje të përsëritshme (përcaktuese me ORDER BY) që kthen 10,000 rreshta përfaqësues nga çdo kanal për vitin 2024. Qëllimi: analiza krahasuese e kanalit. Rendisni supozimet e pyetjes suaj.

Këtu tabela, qëllimi, madhësia dhe përsëritshmëria janë të qarta.

Gabimet e zakonshme

  • Duke mos vënë në dyshim përfaqësimin e kampionit. Të dhënat lehtësisht të aksesueshme nuk janë të dhëna të sakta; paragjykimi i përzgjedhjes shtrembëron rezultatin.
  • Përshtatja e kuptimeve të kolonave me AI. Ekipi burimor e di kuptimin; Mos përdorni parashikimin e AI pa e konfirmuar atë.
  • Nuk ndjek ndryshimin e formatit/njësisë API. Ndryshimi i heshtur mbledh të dhëna të korruptuara për ditë të tëra.
  • Injorimi i rrjedhjes në fazën e grumbullimit. Nëse pyetja "A e kam në momentin e parashikimit" nuk bëhet herët, modeli do të japë sukses të rremë.
  • Mbledhja e të dhënave të paautorizuara ose të paligjshme. Shkelja e robots.txt, kushteve të përdorimit dhe KVKK është një rrezik serioz.
Këshillë: Mbani një "kartë të dhënash" me një faqe për çdo burim të ri të dhënash: burimi, data e tërheqjes, numri i rreshtave, kufijtë e njohur dhe kolonat në rrezik rrjedhjeje. Kjo kartë ruan pyetjen "çfarë ishin këto të dhëna" dhe riprodhueshmërinë muaj më vonë.

Në përmbledhje

Cilësia e analizës kufizohet nga cilësia e të dhënave të mbledhura. Njihni mirë burimin (bazën e të dhënave, API, skedarin, scrape) dhe skemën; sigurohuni që kampioni të jetë përfaqësues i popullatës; Eliminoni rrjedhjet që nga dita e parë duke pyetur secilën kolonë "a e kam atë në kohën e parashikimit?" AI është një përshpejtues i shkëlqyeshëm për punën e pyetjeve dhe dokumenteve, por njerëzit vendosin se çfarë të dhënash të mbledhin dhe përfaqësimin e tyre. Kufijtë e autoritetit, ligji dhe konfidencialiteti janë gjithmonë të parat.

Detyra e aplikimit

Zgjidhni një burim të dhënash (nga biznesi juaj ose hipotetik). Merrni një draft të një fjalori të dhënash nga AI me shabllonin "Nxjerrja e fjalorit të të dhënave" më sipër; Pastaj vlerësoni manualisht çdo kolonë për të parë nëse ka rrjedhur. Mundohuni të gjeni të paktën një kolonë të dyshimtë/rrjedhjes dhe shkruani me një fjali pse është e rrezikshme.

listë kontrolli

  • [ ] A e kam konfirmuar burimin dhe skemën e të dhënave me ekipin burimor?
  • [ ] A kam kontrolluar që kampioni është përfaqësues i popullatës?
  • [ ] A i kam bërë çdo kolone pyetjen "a do ta kem atë në kohën e vlerësimit?"
  • [ ] A e kam bërë kampionimin të përsëritshëm (farë fikse)?
  • [ ] A i kam kontrolluar kufijtë ligjorë/etikë (autoritet, robots.txt, KVKK) të mbledhjes?