Kitengo 2 / 11

Ukusanyaji wa Data na Uelewa wa Chanzo: Schema, Sampuli, Ubora na Uelewa wa Uvujaji

Faida:

  • Uwezo wa kutambua vyanzo tofauti vya data (database, API, file, web scraping) na mitego ya kila moja na kuelewa schema kwa usahihi.
  • Uwezo wa kufanya sampuli inayoweza kurudiwa kwa kutathmini ikiwa sampuli inawakilisha idadi ya watu na upendeleo wa uteuzi
  • Uwezo wa kuondoa uvujaji wa data katika hatua ya ukusanyaji na kuzingatia mipaka ya kisheria/kimaadili kwa kuuliza swali 'Nitakuwa nayo wakati wa kutabiri' katika kila safu?

Kila uchanganuzi ni sawa na ubora wa data unayokusanya. Hata muundo wa hali ya juu zaidi ulimwenguni utaleta matokeo yasiyotegemewa ikiwa utafanya kazi na data ambayo imekusanywa vibaya, iliyochukuliwa kwa upendeleo, au iliyo na habari kuhusu siku zijazo. Katika sayansi ya kompyuta, kanuni hii imefupishwa kama "takataka ndani, takataka nje" (takataka ndani, takataka nje). Katika kitengo hiki, tutashughulikia awamu ya kukusanya data: kuelewa chanzo, sampuli, kuuliza maswali ya ubora na kuwa macho kuhusu hatari ya kuvuja kwa data kuanzia siku ya kwanza. Akili ya bandia ni msaada wenye nguvu katika hatua hii; Huandika swali la SQL, muhtasari wa hati ya API, huandaa mkataba wa data. Lakini ni binadamu anayeamua ni data gani unayokusanya na kama data hiyo inakuwakilisha.

Kujua vyanzo vya data

Data hutoka sehemu tofauti, na kila chanzo kina mitego yake. Hifadhidata (data iliyopangwa iliyohifadhiwa katika majedwali, ambayo kawaida huulizwa na SQL) ndio chanzo cha kawaida; Ni ya kuaminika, lakini ni muhimu kuelewa mpango wake vizuri. API (Kiolesura cha Kuandaa Programu) hutoa data ya moja kwa moja lakini ina hatari ya vikomo vya kasi na mabadiliko ya umbizo. Faili (CSV, Excel, JSON) zinaweza kunyumbulika lakini zinakabiliwa na kutofautiana kwa umbizo. Kuchakachua mtandao kuna nguvu, lakini kuna mipaka ya kisheria na kimaadili; Sio kila tovuti inaweza kufutwa.

Makini: Kwa uchakachuaji wa wavuti na ukusanyaji wa data kiotomatiki, zingatia sheria na masharti ya tovuti, faili ya robots.txt na KVKK/GDPR. Ukusanyaji wa data ambao haujaidhinishwa huunda dhima ya kisheria. Katika muktadha wa usalama wa taarifa, tumia zana za kukusanya data kwenye mifumo ambayo umeidhinishwa tu na kwa madhumuni ya ulinzi/uchanganuzi; Ufikiaji usioidhinishwa au kukwaruza ni marufuku.

Kuelewa schema: kufahamiana na data

Kabla ya kukusanya seti ya data, lazima uelewe utaratibu wake (majina ya safu wima, aina zao za data, maana zake, na uhusiano wao kati yao). AI ni muhimu sana hapa katika kuunda "kamusi ya data" - jedwali linaloelezea kila safu inamaanisha nini. Lakini maelezo AI hutoa ni utabiri; Thibitisha maana halisi ya kila safu na timu iliyotoa data. Kwa mfano, safu wima inayoitwa "hadhi" inaweza kuwa na 0/1/2; Timu asili pekee ndiyo inayojua kama hizi "zinasubiri/kuidhinishwa/kughairiwa" au kitu kingine.

Jedwali lifuatalo linatoa muhtasari wa aina za msingi za rasilimali na tahadhari:

Chanzo

hatua kali

mtego

Jinsi AI inasaidia

Hifadhidata ya SQL

Muundo, wa kuaminika

Complex JOIN

Huandika rasimu ya swali

API

data ya moja kwa moja

Kikomo cha kasi, mabadiliko ya sura

Muhtasari wa hati, msimbo wa kuvuta

CSV/Excel

Flexible, haraka

Utofauti wa umbizo

Soma/changanua msimbo

uchakataji mtandao

Ufikiaji mpana

Kikomo cha kisheria/kimaadili

Kuchanganua rasimu (ndani ya mamlaka)

Data ya kumbukumbu/tukio

kina

kiasi kikubwa

Swali la kuchuja

Mchoro: je, sehemu hiyo inawakilisha zima?

Mara nyingi, unafanya kazi na sampuli (sehemu ndogo iliyochaguliwa kutoka kwa idadi ya watu) badala ya data nzima. Swali muhimu ni: je sampuli hii inawakilisha idadi ya watu? Upendeleo wa uteuzi ndio mtego unaojulikana zaidi. Kwa mfano, ikiwa tu sampuli ya watumiaji kutoka programu ya simu, hutaona watumiaji wa mtandao na matokeo yako yatakuwa ya kupotosha. Sampuli za nasibu (kila rekodi ina nafasi sawa ya kuchaguliwa) ni salama zaidi katika hali nyingi; lakini katika data ya mfululizo wa saa, mgawanyiko unafanywa kwa mpangilio badala ya nasibu (tutaona hii katika Sehemu ya 7 na 10).

Leak ufahamu kutoka siku ya kwanza

Uvujaji wa data ndio chanzo cha majanga mengi na kwa kawaida hutokea wakati wa awamu ya ukusanyaji wa data. Mfano: wakati wa kutabiri "imeghairiwa", ikiwa unaongeza safu wima ya "tarehe ya kughairiwa" kwenye data, mtindo unaangalia siku zijazo. Wakati wa awamu ya mkusanyiko, uliza swali moja kwa kila safu: "Je, nitakuwa na taarifa hii wakati ninapotabiri?" Ikiwa jibu ni hapana, safu hiyo inavuja. Tutaangazia mada hii kwa kina katika Sura ya 10; Lakini ufahamu unapaswa kuanza kutoka siku ya kwanza.

kesi tatu ndogo

Kesi ya 1 - Tatizo la uwakilishi. Benki moja ilikusanya data tu juu ya mikopo iliyoidhinishwa kwa mfano wake wa hatari ya mkopo (rekodi 18,500). Kukataliwa hakukuwa kwenye data. Mtindo huo haukuwa sahihi katika ulimwengu wa kweli kwa sababu haukuwahi kuona jinsi waliokataa wangefanya. Somo: sampuli inapaswa kuwa mwakilishi wa watu wote ambao unafanya uamuzi wako.

Kesi 2 - Mabadiliko ya fomu ya kimya. Timu ilikuwa ikichota data ya bei kutoka kwa API kila siku. Siku moja, mtoa huduma wa API alibadilisha sarafu kutoka USD hadi EUR, lakini jina la kikoa lilibaki vile vile. Data ilikusanywa katika kitengo kisicho sahihi kwa siku 12; Laini 3,200 ziliharibika. Somo: Angalia kiasi na uthabiti wa umbizo mara kwa mara katika data ya API.

Kesi ya 3 - kuvuja mapema. Mchanganuzi alijumuisha safu wima ya "sababu ya kufungwa kwa akaunti" wakati wa kukusanya data kwa makadirio ya "churn". Safu hii ilijazwa tu baada ya mteja kuondoka. Mfano huo ulitoa usahihi wa 97% kwenye seti ya mtihani; Haikufanya kazi katika toleo la umma kwa sababu safu wima hiyo ilikuwa tupu wakati wa utabiri. Somo: uliza kila safu swali "Je! ninayo wakati wa utabiri?"

Violezo vinne vinavyoweza kunakiliwa

1) Uchimbaji wa kamusi ya data:

Jukumu lako: msaidizi wa mwanasayansi wa data. Yafuatayo ni majina ya safu wima na sampuli za thamani (zisizojulikana) za jedwali. Kwa kila safu, orodhesha makadirio ya maana, aina ya data, na hatari zinazoweza kutokea za ubora katika jedwali. Weka alama kwenye safuwima ambazo huna uhakika nazo kama "uthibitisho unahitajika"; maana kutengeneza.Safuwima: [bandika hapa]

2) Nambari ya sampuli (nasibu, inayoweza kurudiwa):

Nina pandas df. Andika msimbo unaotoa sampuli 5% nasibu kutoka safu mlalo 200,000. Tumia random_state=42 (kwa kuzaliana tena). Ongeza msimbo ili kuangalia kuwa usambazaji wa darasa wa sampuli ni sawa na idadi ya watu.

3) Swali la kukagua kuvuja:

Nitakupa orodha hii ya safu. Kusudi langu ni kutabiri "imeghairiwa" (0/1). Kwa kila safu, tathmini ikiwa nitakuwa nayo wakati wa utabiri na uweke alama kama "salama / tuhuma / uvujaji". Andika mantiki yako katika sentensi moja. Safu wima: [orodha]

4) rasimu ya swala la SQL:

Nina meza za "maagizo" na "wateja" katika PostgreSQL. Andika swali la JIUNGE ambalo linachanganya maagizo ya siku 90 zilizopita na jiji la mteja na kurejesha jumla ya kiasi na idadi ya maagizo kwa kila jiji. Eleza kichujio cha tarehe na jinsi miji NULL inashughulikiwa. Nitaendesha swali na kulithibitisha.

Mwongozo dhaifu / Mwongozo thabiti

Agizo dhaifu:

Nivute sampuli nzuri ya data kutoka kwa hifadhidata hii.

"Mzuri" ni utata; Uchoraji gani, ni kipindi gani, ni saizi gani, ambayo kusudi sio wazi. AI itatoa tu swali la jumla, labda lisilo sahihi.

Agizo lenye nguvu:

Jukumu lako: Msaidizi wa SQL. Nina jedwali la "shughuli": kitambulisho cha safu wima, kitambulisho cha mteja, tarehe (muhuri wa saa), kiasi (nambari), kituo (maandishi: 'web'/'mobile'). Jukumu: Andika hoja inayoweza kurudiwa (inayobainishwa na ORDER BY) ambayo inarejesha safu mlalo wakilishi 10,000 kutoka kwa kila kituo kwa mwaka wa 2024. Kusudi: uchanganuzi wa ulinganishi wa chaneli. Orodhesha mawazo ya swali lako.

Hapa meza, madhumuni, ukubwa na kurudia ni wazi.

Makosa ya kawaida

  • Bila kuhoji uwakilishi wa sampuli. Data inayopatikana kwa urahisi sio data sahihi; upendeleo wa uteuzi hupotosha matokeo.
  • Kurekebisha maana za safu wima kwa AI. Timu ya chanzo inajua maana; Usitumie utabiri wa AI bila kuuthibitisha.
  • Sio kufuatilia muundo wa API/mabadiliko ya kitengo. Mabadiliko ya kimya hukusanya data mbovu kwa siku kadhaa.
  • Kupuuza uvujaji katika hatua ya mkusanyiko. Ikiwa swali "Je! ninayo wakati wa utabiri" halijaulizwa mapema, mfano huo utatoa mafanikio ya uwongo.
  • Kukusanya data isiyoidhinishwa au haramu. Ukiukaji wa robots.txt, masharti ya matumizi na KVKK ni hatari kubwa.
Kidokezo: Weka "kadi ya data" ya ukurasa mmoja kwa kila chanzo kipya cha data: chanzo, tarehe ya kuvuta, idadi ya safu mlalo, mipaka inayojulikana na safu wima zilizo katika hatari ya kuvuja. Kadi hii huhifadhi swali la "data hii ilikuwa nini" na jinsi ya kuzalisha tena miezi kadhaa baadaye.

Kwa muhtasari

Ubora wa uchanganuzi umepunguzwa na ubora wa data iliyokusanywa. Jua chanzo (database, API, faili, scrape) na schema vizuri; hakikisha sampuli ni mwakilishi wa idadi ya watu; Ondoa uvujaji kutoka siku ya kwanza kwa kuuliza kila safu "Je! ninayo wakati wa kutabiri?" AI ni kichapuzi bora cha hoja na kazi ya hati, lakini wanadamu huamua data ya kukusanya na uwakilishi wake. Mipaka ya mamlaka, sheria na usiri daima huja kwanza.

Jukumu la maombi

Chagua chanzo cha data (kutoka kwa biashara yako mwenyewe au dhahania). Pata rasimu ya kamusi ya data kutoka kwa AI yenye kiolezo cha "uchimbaji wa kamusi ya data" hapo juu; Kisha tathmini mwenyewe kila safu ili kuona ikiwa imevuja. Jaribu kutafuta angalau safu wima moja inayotiliwa shaka/inayovuja na uandike kwa sentensi moja kwa nini ni hatari.

orodha ya ukaguzi

  • [ ] Je, nimethibitisha chanzo cha data na schema na timu ya chanzo?
  • [ ] Je, nimeangalia kuwa sampuli ni kiwakilishi cha idadi ya watu?
  • [ ] Je, nimeuliza kila safu swali "nitakuwa nayo wakati wa makadirio?"
  • [ ] Je, nimefanya sampuli iweze kurudiwa (mbegu isiyobadilika)?
  • [ ] Je, nimekagua mipaka ya kisheria/kimaadili (mamlaka, robots.txt, KVKK) ya ukusanyaji?