Ieguvumi:
- Spēja atpazīt dažādus datu avotus (datu bāzi, API, failu, tīmekļa skrāpējumu) un katra kļūdas un pareizi izprast shēmu
- Spēja veikt atkārtojamu izlasi, novērtējot, vai izlase atspoguļo populāciju un atlases novirzes
- Spēja novērst datu noplūdi savākšanas posmā un ievērot juridiskās/ētiskās robežas, katrā kolonnā uzdodot jautājumu “Vai man tas būs prognozēšanas brīdī”?
Katra analīze ir tikpat laba kā jūsu savākto datu kvalitāte. Pat vismodernākais modelis pasaulē sniegs neuzticamus rezultātus, ja tas darbosies ar datiem, kas savākti nepareizi, atlasīti neobjektīvi vai satur informāciju par nākotni. Datorzinātnē šis princips ir apkopots kā "atkritumi iekšā, atkritumi ārā" (atkritumi iekšā, atkritumi ārā). Šajā nodaļā mēs apskatīsim datu vākšanas fāzi: avota izpratni, paraugu ņemšanu, kvalitātes jautājumu uzdošanu un brīdinājumu par datu noplūdes risku no pirmās dienas. Mākslīgais intelekts ir spēcīgs palīgs šajā posmā; Raksta SQL vaicājumu, apkopo API dokumentu, izstrādā datu līgumu. Taču cilvēks ir tas, kurš izlemj, kādus datus jūs apkopojat un vai šie dati pārstāv jūs.
Iepazīšanās ar datu avotiem
Dati nāk no dažādām vietām, un katram avotam ir savas nepilnības. Datu bāze (strukturēti dati, kas glabājas tabulās, parasti tiek vaicāti ar SQL) ir visizplatītākais avots; Tas ir uzticams, taču ir labi jāsaprot tā shēma. API (Application Programming Interface) nodrošina reāllaika datus, bet rada ātruma ierobežojumu un formāta izmaiņu risku. Faili (CSV, Excel, JSON) ir elastīgi, taču tiem ir tendence uz formātu nekonsekvenci. Tīmekļa skrāpēšana ir spēcīga, taču tai ir juridiski un ētiski ierobežojumi; Ne katru vietni var nokasīt.
Uzmanību! Lai veiktu tīmekļa kopēšanu un automātisku datu apkopošanu, ievērojiet vietnes lietošanas noteikumus, failu robots.txt un KVKK/GDPR. Neatļauta datu vākšana rada juridisku atbildību. Informācijas drošības kontekstā izmantojiet datu vākšanas rīkus tikai tajās sistēmās, kurām esat pilnvarots, un aizsardzības/analīzes nolūkos; Neatļauta piekļuve vai skrāpēšana ir aizliegta.
Izpratne par shēmu: iepazīšanās ar datiem
Pirms datu kopas apkopošanas jums ir jāsaprot tās shēma (kolonnu nosaukumi, datu veidi, nozīme un savstarpējās attiecības). AI šeit ir ļoti noderīgs, veidojot "datu vārdnīcu" — tabulu, kurā paskaidrots, ko nozīmē katra kolonna. Taču AI sniegtie skaidrojumi ir prognozes; Apstipriniet katras kolonnas patieso nozīmi ar komandu, kas sagatavoja datus. Piemēram, kolonnā ar nosaukumu "statuss" var būt 0/1/2; Tikai sākotnējā komanda zina, vai tie ir "gaida/apstiprināti/atcelti" vai kaut kas cits.
Šajā tabulā ir apkopoti pamata resursu veidi un brīdinājumi:
Avots
stiprā puse
slazds
Kā AI palīdz
SQL datu bāze
Strukturāls, uzticams
Sarežģīti JOIN
Raksta vaicājuma melnrakstu
API
tiešraides dati
Ātruma ierobežojums, formas maiņa
Dokumentu kopsavilkumi, izvelciet kodu
CSV/Excel
Elastīgi, ātri
Formāta neatbilstība
Lasīt/parsēt kodu
tīmekļa skrāpēšana
Plaša sasniedzamība
Juridiskais/ētiskais ierobežojums
Parsē melnrakstu (autoritātes ietvaros)
Žurnāla/notikuma dati
detalizēti
milzīgs apjoms
Filtrēšanas vaicājums
Ilustrācija: vai daļa atspoguļo veselumu?
Lielāko daļu laika jūs strādājat ar izlasi (no kopas atlasītu apakškopu), nevis ar visiem datiem. Kritiskais jautājums ir: vai šī izlase pārstāv populāciju? Atlases novirze ir visizplatītākā slazds. Piemēram, ja atlasīsit tikai lietotājus no mobilās lietotnes, jūs neredzēsit tīmekļa lietotājus un jūsu rezultāti būs maldinoši. Vairumā gadījumu visdrošākā ir izlases veida izlase (katram ierakstam ir vienādas iespējas tikt atlasītam); bet laikrindu datos sadalīšana tiek veikta hronoloģiski, nevis nejauši (to redzēsim 7. un 10. vienībā).
Noplūdes izpratne jau no pirmās dienas
Datu noplūde ir lielākās daļas katastrofu avots, un tā parasti rodas datu vākšanas posmā. Piemērs: prognozējot "vai tas tika atcelts", ja datiem pievienojat sleju "atcelšanas datums", modelis skatās nākotnē. Apkopošanas posmā uzdodiet vienu jautājumu katrai kolonnai: "Vai man tiešām būs šī informācija brīdī, kad es izteikšu prognozi?" Ja atbilde ir nē, šajā kolonnā ir noplūde. Šo tēmu padziļināti aplūkosim 10. nodaļā; Taču izpratnei jāsāk no pirmās dienas.
trīs mini futrāļi
1. gadījums — reprezentācijas problēma. Viena banka apkopoja datus tikai par apstiprinātajiem aizdevumiem savam kredītriska modelim (18 500 ierakstu). Noraidījumi datos nebija. Modele bija nepareiza reālajā pasaulē, jo tā nekad neredzēja, kā uzvesties noraidītie. Nodarbība: paraugam jābūt reprezentatīvam visai populācijai, no kuras jūs pieņemat lēmumu.
2. gadījums — klusās formas maiņa. Komanda katru dienu ieguva cenu datus no API. Kādu dienu API nodrošinātājs mainīja valūtu no USD uz EUR, bet domēna nosaukums palika nemainīgs. Dati tika savākti nepareizā vienībā 12 dienas; Tika bojātas 3200 līnijas. Nodarbība: regulāri pārbaudiet API datu apjoma un formāta konsekvenci.
3. gadījums — agrīna noplūde. Analītiķis iekļāva sleju "konta slēgšanas iemesls", vācot datus aprēķiniem par atteikšanos. Šī kolonna tika aizpildīta tikai pēc klienta aiziešanas. Modelis testa komplektā nodrošināja 97% precizitāti; Ražošanā tas nedarbojās, jo šī kolonna prognozēšanas laikā bija tukša. Nodarbība: uzdodiet katrai kolonnai jautājumu "vai man tas ir pareģošanas brīdī?"
Četras kopējamas veidnes
1) Datu vārdnīcas izvilkšana:
Jūsu loma: datu zinātnieka asistents. Tālāk ir norādīti tabulas kolonnu nosaukumi un parauga (anonīmās) vērtības. Katrai kolonnai tabulā norādiet tās aptuveno nozīmi, datu veidu un iespējamos kvalitātes riskus. Atzīmējiet kolonnas, par kurām neesat pārliecināts, kā "nepieciešams apstiprinājums"; nozīmē veidošana. Kolonnas: [ielīmējiet šeit]
2) Izlases kods (nejauši, atkārtojami):
Man ir pandas df. Uzrakstiet kodu, kas no 200 000 rindu iegūst reprezentatīvu 5 % nejaušu paraugu. Izmantojiet random_state=42 (reproducējamībai). Pievienojiet kodu, lai pārbaudītu, vai izlases klases sadalījums ir līdzīgs populācijas sadalījumam.
3) Jautājums par noplūdes skenēšanu:
Es jums sniegšu šo kolonnu sarakstu. Mans mērķis ir prognozēt "vai tas ir atcelts" (0/1). Katrai kolonnai novērtējiet, vai man tā patiešām būs prognozes brīdī, un atzīmējiet to kā "drošu / aizdomīgu / noplūdi". Vienā teikumā uzrakstiet savu pamatojumu. Kolonnas: [saraksts]
4) SQL izvilkšanas vaicājuma melnraksts:
Man PostgreSQL ir tabulas "pasūtījumi" un "klienti". Uzrakstiet JOIN vaicājumu, kas apvieno pēdējo 90 dienu pasūtījumus ar klienta pilsētu un atgriež kopējo pasūtījumu summu un skaitu katrā pilsētā. Paskaidrojiet datuma filtru un to, kā tiek apstrādātas NULL pilsētas. Es izpildīšu vaicājumu un pārbaudīšu to.
Vāja uzvedne / spēcīga uzvedne
Vāja uzvedne:
Izvelciet man labu datu paraugu no šīs datu bāzes.
"Labs" ir neskaidrs; Kura glezna, kurš periods, kāds izmērs, kāds mērķis nav skaidrs. AI radīs tikai vispārīgu, iespējams, nepareizu vaicājumu.
Spēcīga uzvedne:
Jūsu loma: SQL palīgs. Man ir "darījumu" tabula: kolonnas id, customer_id, datums (laikspiedols), summa (ciparu), kanāls (teksts: 'web'/'mobile'). Uzdevums: uzrakstiet atkārtojamu (deterministisku ar ORDER BY) vaicājumu, kas atgriež 10 000 reprezentatīvu rindu no katra kanāla 2024. gadam. Mērķis: kanālu salīdzinošā analīze. Uzskaitiet sava vaicājuma pieņēmumus.
Šeit ir skaidra tabula, mērķis, izmērs un atkārtojamība.
Biežas kļūdas
- Neapšaubot izlases reprezentativitāti. Viegli pieejami dati nav precīzi dati; atlases novirze izkropļo rezultātu.
- Kolonnu nozīmju pielāgošana AI. Avota komanda zina nozīmi; Neizmantojiet AI prognozi, to neapstiprinot.
- Netiek izsekota API formāta/vienības maiņa. Klusās izmaiņas apkopo bojātus datus dienām ilgi.
- Ignorējot noplūdi savākšanas posmā. Ja jautājums "Vai man tas ir prognozēšanas brīdī" netiek uzdots agri, modelis dos viltus panākumus.
- Neatļautu vai nelikumīgu datu vākšana. Vietnes robots.txt, lietošanas noteikumu un KVKK pārkāpšana ir nopietns risks.
Padoms. Saglabājiet vienas lapas “datu karti” katram jaunajam datu avotam: avots, izvilkšanas datums, rindu skaits, zināmās robežas un kolonnas, kurās pastāv noplūdes risks. Šī kartīte vairākus mēnešus vēlāk saglabā jautājumu "kas bija šie dati" un reproducējamību.
Rezumējot
Analīzes kvalitāti ierobežo savākto datu kvalitāte. Labi zināt avotu (datu bāzi, API, failu, scrape) un shēmu; pārliecinieties, ka izlase ir reprezentatīva attiecībā uz kopu; Novērsiet noplūdi no pirmās dienas, katrā kolonnā uzdodot jautājumu: "Vai man tā ir prognozēšanas brīdī?" AI ir lielisks vaicājumu un dokumentu darba paātrinātājs, taču cilvēki izlemj, kādus datus vākt un to reprezentativitāti. Autoritātes, likumu un konfidencialitātes robežas vienmēr ir pirmajā vietā.
Lietojumprogrammas uzdevums
Izvēlieties datu avotu (no sava uzņēmuma vai hipotētisku). Saņemiet datu vārdnīcas melnrakstu no AI, izmantojot iepriekš norādīto veidni “datu vārdnīcas izvilkšana”; Pēc tam manuāli novērtējiet katru kolonnu, lai redzētu, vai tā nav noplūdusi. Mēģiniet atrast vismaz vienu aizdomīgu/noplūdes sleju un vienā teikumā uzrakstiet, kāpēc tas ir riskanti.
kontrolsaraksts
- [ ] Vai esmu apstiprinājis datu avotu un shēmu ar avota komandu?
- [ ] Vai esmu pārbaudījis, vai izlase reprezentē kopu?
- [ ] Vai esmu uzdevis katrai kolonnai jautājumu "vai man tas būs tāmes brīdī?"
- [ ] Vai esmu padarījis paraugu ņemšanu atkārtojamu (fiksētas sēklas)?
- [ ] Vai esmu pārbaudījis vākšanas juridiskos/ētiskos (iestāde, robots.txt, KVKK) ierobežojumus?