Dobički:
- Sposobnost prepoznavanja različnih virov podatkov (baza podatkov, API, datoteka, spletno strganje) in pasti vsakega ter pravilno razumevanje sheme
- Sposobnost izvajanja ponovljivega vzorčenja z ocenjevanjem, ali vzorec predstavlja pristranskost populacije in selekcije
- Sposobnost odpravljanja uhajanja podatkov v fazi zbiranja in upoštevanja pravnih/etičnih meja s postavljanjem vprašanja "Ali ga bom imel v času napovedi" v vsakem stolpcu?
Vsaka analiza je tako dobra, kot je kakovost zbranih podatkov. Tudi najnaprednejši model na svetu bo dal nezanesljive rezultate, če bo deloval s podatki, ki so zbrani nepravilno, vzorčeni pristransko ali vsebujejo informacije o prihodnosti. V računalništvu je to načelo povzeto kot "smeti noter, smeti ven" (garbage in, garbage out). V tej enoti bomo obravnavali fazo zbiranja podatkov: razumevanje vira, vzorčenje, postavljanje vprašanj o kakovosti in pozornost na tveganje uhajanja podatkov od prvega dne. Umetna inteligenca je v tej fazi močna pomoč; Napiše poizvedbo SQL, povzema dokument API, sestavi pogodbo o podatkih. Toda človek je tisti, ki odloča, katere podatke boste zbirali in ali vas ti podatki predstavljajo.
Spoznavanje virov podatkov
Podatki prihajajo z različnih krajev in vsak vir ima svoje pasti. Podatkovna zbirka (strukturirani podatki, shranjeni v tabelah, po katerih se običajno poizveduje s SQL) je najpogostejši vir; Je zanesljiv, vendar je potrebno dobro razumeti njegovo shemo. API (Application Programming Interface) zagotavlja podatke v živo, vendar nosi tveganje omejitev hitrosti in sprememb formata. Datoteke (CSV, Excel, JSON) so prilagodljive, vendar so nagnjene k nedoslednosti formatov. Spletno strganje je močno, vendar ima pravne in etične omejitve; Vsakega mesta ni mogoče strgati.
Pozor: Za spletno strganje in samodejno zbiranje podatkov upoštevajte pogoje uporabe spletnega mesta, datoteko robots.txt in KVKK/GDPR. Nepooblaščeno zbiranje podatkov ustvarja pravno odgovornost. V kontekstu informacijske varnosti uporabljajte orodja za zbiranje podatkov le v sistemih, za katere ste pooblaščeni, in za namene obrambe/analize; Nepooblaščen dostop ali strganje je prepovedano.
Razumevanje sheme: seznanitev s podatki
Preden zberete nabor podatkov, morate razumeti njegovo shemo (imena stolpcev, njihove vrste podatkov, njihove pomene in njihove medsebojne odnose). Umetna inteligenca je zelo uporabna pri ustvarjanju "podatkovnega slovarja" - tabele, ki pojasnjuje, kaj vsak stolpec pomeni. Toda razlage, ki jih proizvaja AI, so napovedi; Potrdite pravi pomen vsakega stolpca z ekipo, ki je izdelala podatke. Na primer, stolpec z imenom "stanje" lahko vsebuje 0/1/2; Samo izvorna ekipa ve, ali so ti "v teku/odobreni/preklicani" ali kaj drugega.
Naslednja tabela povzema osnovne vrste virov in opozorila:
Vir
močna točka
past
Kako AI pomaga
Baza podatkov SQL
Strukturno, zanesljivo
Kompleksni JOIN-ji
Napiše osnutek poizvedbe
API
podatki v živo
Omejitev hitrosti, sprememba oblike
Povzetki dokumentov, vlečna koda
CSV/Excel
Prilagodljiv, hiter
Nedoslednost formata
Branje/razčlenitev kode
spletno strganje
Širok doseg
Pravna/etična omejitev
Razčlenjevanje osnutka (znotraj pooblastila)
Dnevnik/podatki o dogodkih
podrobno
ogromen obseg
Poizvedba za filtriranje
Ponazoritev: ali del predstavlja celoto?
Večino časa delate z vzorcem (podmnožico, izbrano iz populacije) in ne s celotnimi podatki. Ključno vprašanje je: ali ta vzorec predstavlja populacijo? Pristranskost pri izbiri je najpogostejša past. Če na primer vzorčite samo uporabnike iz mobilne aplikacije, ne boste videli spletnih uporabnikov in vaši rezultati bodo zavajajoči. Naključno vzorčenje (vsak zapis ima enako možnost, da bo izbran) je v večini primerov najvarnejše; toda v podatkih o časovni vrsti se delitev izvede kronološko in ne naključno (to bomo videli v 7. in 10. enoti).
Puščanje zavesti od prvega dne
Uhajanje podatkov je vir večine nesreč in se običajno pojavi med fazo zbiranja podatkov. Primer: pri napovedovanju "ali je bilo preklicano", če podatkom dodate stolpec "datum preklica", model gleda v prihodnost. Med fazo zbiranja postavite eno vprašanje za vsak stolpec: "Ali bom dejansko imel te informacije v času, ko naredim napoved?" Če je odgovor ne, ta stolpec pušča. To temo bomo poglobljeno obravnavali v 10. enoti; Toda zavedanje bi se moralo začeti že prvi dan.
trije mini kovčki
Primer 1 – Problem reprezentacije. Ena banka je za model kreditnega tveganja zbirala le podatke o odobrenih kreditih (18.500 zapisov). Zavrnitev ni bilo v podatkih. Model se je v resničnem svetu zmotil, ker nikoli ni videl, kako se bodo zavrnjeni obnašali. Nauk: vzorec mora biti reprezentativen za celotno populacijo, iz katere se odločate.
Primer 2 – Tiha sprememba oblike. Ekipa je vsak dan črpala podatke o cenah iz API-ja. Nekega dne je ponudnik API spremenil valuto iz USD v EUR, vendar je ime domene ostalo isto. Podatki so bili zbrani v napačni enoti 12 dni; 3200 vrstic je bilo poškodovanih. Lekcija: Redno preverjajte skladnost obsega in oblike v podatkih API.
Primer 3 – zgodnje uhajanje. Analitik je pri zbiranju podatkov za oceno odliva vključil stolpec "razlog za zaprtje računa". Ta stolpec je bil izpolnjen šele po odhodu stranke. Model je na testnem nizu dosegel 97-odstotno natančnost; V produkciji ni delovalo, ker je bil ta stolpec v času predvidevanja prazen. Lekcija: vsakemu stolpcu postavite vprašanje "ali ga imam v času napovedi?"
Štiri predloge za kopiranje
1) Ekstrakcija podatkovnega slovarja:
Vaša vloga: pomočnik podatkovnega znanstvenika. Spodaj so imena stolpcev in vzorčne (anonimne) vrednosti tabele. Za vsak stolpec v tabeli navedite njegov ocenjeni pomen, vrsto podatkov in možna tveganja za kakovost. Stolpce, za katere niste prepričani, označite kot "potrebna potrditev"; ustvarjanje pomena. Stolpci: [prilepite sem]
2) Koda vzorčenja (naključna, ponovljiva):
Imam pande df. Napišite kodo, ki iz 200.000 vrstic izvleče reprezentativen 5-odstotni naključni vzorec. Uporabite random_state=42 (za ponovljivost). Dodajte kodo, da preverite, ali je razredna porazdelitev vzorca podobna populaciji.
3) Vprašanje skeniranja puščanja:
Dal vam bom ta seznam stolpcev. Moj cilj je napovedati "ali je preklicano" (0/1). Za vsak stolpec ocenite, ali ga bom dejansko imel v času napovedi, in ga označite kot "varno / sumljivo / puščanje". Svojo utemeljitev napišite v enem stavku. Stolpci: [seznam]
4) Osnutek vlečne poizvedbe SQL:
V PostgreSQL imam tabeli "naročila" in "stranke". Napišite poizvedbo JOIN, ki združuje naročila zadnjih 90 dni z mestom stranke in vrne skupni znesek in število naročil na mesto. Pojasnite datumski filter in kako se obravnavajo NULL mesta. Izvedel bom poizvedbo in jo preveril.
Šibek poziv/močan poziv
Šibek poziv:
Potegnite mi dober vzorec podatkov iz te podatkovne baze.
"Dobro" je dvoumen; Katera slika, katero obdobje, kakšna velikost, kakšen namen ni jasno. Umetna inteligenca bo izdelala le generično, morda napačno poizvedbo.
Močan poziv:
Vaša vloga: pomočnik SQL. Imam tabelo "transakcije": stolpci id, customer_id, datum (časovni žig), znesek (numerični), kanal (besedilo: 'web'/'mobile'). Naloga: Napišite ponovljivo (deterministično z ORDER BY) poizvedbo, ki vrne 10.000 reprezentativnih vrstic iz vsakega kanala za leto 2024. Namen: primerjalna analiza kanalov. Navedite predpostavke vaše poizvedbe.
Tukaj je tabela, namen, velikost in ponovljivost jasna.
Pogoste napake
- Brez dvoma o reprezentativnosti vzorca. Lahko dostopni podatki niso točni podatki; pristranskost izbire popači rezultat.
- Prilagajanje pomenov stolpcev AI. Izvorna ekipa pozna pomen; Ne uporabljajte predvidevanja AI, ne da bi ga potrdili.
- Ne sledi spremembi formata/enote API-ja. Tiha sprememba več dni zbira poškodovane podatke.
- Ignoriranje puščanja na stopnji zbiranja. Če se vprašanje "Ali ga imam v času napovedi" ne postavi zgodaj, bo model dal lažen uspeh.
- Zbiranje nepooblaščenih ali nezakonitih podatkov. Kršitev robots.txt, pogojev uporabe in KVKK je resno tveganje.
Namig: Za vsak nov vir podatkov imejte enostransko »podatkovno kartico«: vir, datum pridobivanja, število vrstic, znane meje in stolpce, pri katerih obstaja nevarnost uhajanja. Ta kartica shrani vprašanje "kateri so bili ti podatki" in ponovljivost mesecev pozneje.
Če povzamem
Kakovost analize je omejena s kakovostjo zbranih podatkov. Dobro poznati vir (baza podatkov, API, datoteka, strganje) in shemo; zagotoviti, da je vzorec reprezentativen za populacijo; Odpravite uhajanje od prvega dne tako, da vsak stolpec vprašate: "Ali ga imam v času napovedi?" AI je odličen pospeševalnik za delo s poizvedbami in dokumenti, vendar ljudje odločajo, katere podatke bodo zbirali in njihovo reprezentativnost. Meje avtoritete, zakon in zaupnost so vedno na prvem mestu.
Aplikacijska naloga
Izberite vir podatkov (iz lastnega podjetja ali hipotetičnega). Pridobite osnutek podatkovnega slovarja iz AI z zgornjo predlogo »izvleček podatkovnega slovarja«; Nato ročno ocenite vsak stolpec, da vidite, ali je prišlo do uhajanja. Poskusite najti vsaj en sumljiv/puščajoč stolpec in v enem stavku napišite, zakaj je tvegan.
kontrolni seznam
- [ ] Ali sem potrdil vir podatkov in shemo pri izvorni skupini?
- [ ] Ali sem preveril, ali je vzorec reprezentativen za populacijo?
- [ ] Ali sem vsakemu stolpcu zastavil vprašanje "ali ga bom imel v času ocene?"
- [ ] Ali sem naredil ponovljivo vzorčenje (fiksno seme)?
- [ ] Ali sem preveril pravne/etične (oblast, robots.txt, KVKK) omejitve zbiranja?