Dobici:
- Sposobnost prepoznavanja različitih izvora podataka (baza podataka, API, datoteka, web scraping) i zamki svakog od njih i ispravno razumijevanje sheme
- Sposobnost izvođenja ponovljivog uzorkovanja procjenom da li uzorak predstavlja populaciju i pristrasnost odabira
- Sposobnost da se eliminiše curenje podataka u fazi prikupljanja i da se poštuju zakonske/etičke granice postavljanjem pitanja 'Hoću li ih imati u trenutku predviđanja' u svakoj koloni?
Svaka analiza je dobra koliko i kvalitet podataka koje prikupljate. Čak i najnapredniji model na svijetu će proizvesti nepouzdane rezultate ako radi s podacima koji su pogrešno prikupljeni, uzorkovani pristrasno ili sadrže informacije o budućnosti. U informatici, ovaj princip je sažet kao "smeće unutra, smeće van" (smeće unutra, smeće van). U ovoj cjelini ćemo pokriti fazu prikupljanja podataka: razumijevanje izvora, uzorkovanje, postavljanje pitanja o kvalitetu i budnost na rizik od curenja podataka od prvog dana. Umjetna inteligencija je moćna pomoć u ovoj fazi; Piše SQL upit, sumira API dokument, sastavlja ugovor o podacima. Ali ljudsko biće je ono koje odlučuje koje podatke prikupljate i da li ti podaci predstavljaju vas.
Upoznavanje izvora podataka
Podaci dolaze sa različitih mjesta, a svaki izvor ima svoje zamke. Baza podataka (strukturirani podaci pohranjeni u tabelama, obično upitani pomoću SQL-a) je najčešći izvor; Pouzdan je, ali je potrebno dobro razumjeti njegovu shemu. API (Aplikacijski programski interfejs) pruža podatke uživo, ali nosi rizik od ograničenja brzine i promjena formata. Datoteke (CSV, Excel, JSON) su fleksibilne, ali sklone nedosljednosti formata. Web scraping je moćan, ali ima zakonska i etička ograničenja; Ne može se svaka stranica skrapati.
Pažnja: Za web scraping i automatsko prikupljanje podataka, pridržavajte se uslova korištenja stranice, datoteke robots.txt i KVKK/GDPR. Neovlašteno prikupljanje podataka stvara pravnu odgovornost. U kontekstu sigurnosti informacija, koristite alate za prikupljanje podataka samo na sistemima za koje ste ovlašteni iu svrhe odbrane/analize; Neovlašteni pristup ili struganje su zabranjeni.
Razumijevanje sheme: upoznavanje sa podacima
Prije prikupljanja skupa podataka, morate razumjeti njegovu šemu (nazive kolona, njihove tipove podataka, njihova značenja i njihove međusobne odnose). AI je vrlo korisna ovdje u kreiranju "rječnika podataka" - tabele koja objašnjava šta svaka kolona znači. Ali objašnjenja koja AI proizvodi su predviđanja; Potvrdite pravo značenje svake kolone s timom koji je proizveo podatke. Na primjer, kolona pod nazivom "status" može sadržavati 0/1/2; Samo početni tim zna da li su "na čekanju/odobren/otkazano" ili nešto drugo.
Sljedeća tabela sažima osnovne vrste resursa i upozorenja:
Izvor
jaka tačka
trap
Kako AI pomaže
SQL baza podataka
Strukturno, pouzdano
Complex JOINs
Piše nacrt upita
API
podaci uživo
Ograničenje brzine, promjena oblika
Sažeci dokumenata, povlačenje koda
CSV/Excel
Fleksibilan, brz
Nedosljednost formata
Čitanje/raščlanjivanje koda
web scraping
Širok doseg
Pravna/etička granica
Raščlanjivanje nacrta (unutar ovlaštenja)
Podaci dnevnika/događaja
detaljan
ogroman volumen
Upit za filtriranje
Ilustracija: da li dio predstavlja cjelinu?
Većinu vremena radite s uzorkom (podskupom odabranim iz populacije), a ne s cijelim podacima. Kritično pitanje je: da li ovaj uzorak predstavlja populaciju? Pristrasnost odabira je najčešća zamka. Na primjer, ako uzorkujete samo korisnike iz mobilne aplikacije, nećete vidjeti korisnike weba i vaši će rezultati biti pogrešni. Slučajno uzorkovanje (svaki zapis ima jednake šanse da bude izabran) je u većini slučajeva najsigurnije; ali u podacima o vremenskim serijama, podjela se vrši hronološki, a ne nasumično (to ćemo vidjeti u jedinicama 7 i 10).
Curenje svijesti od prvog dana
Curenje podataka je izvor većine katastrofa i obično nastaje tokom faze prikupljanja podataka. Primjer: kada se predviđa "da li je poništeno", ako podacima dodate kolonu "datum otkazivanja", model gleda u budućnost. Tokom faze prikupljanja, postavite jedno pitanje za svaku kolonu: „Hoću li zaista imati ove informacije u trenutku kada napravim predviđanje?“ Ako je odgovor ne, ta kolona curi. Ovu temu ćemo detaljno obraditi u jedinici 10; Ali svijest bi trebala početi od prvog dana.
tri mini kofera
Slučaj 1 — Problem reprezentacije. Jedna banka je za svoj model kreditnog rizika prikupljala podatke samo o odobrenim kreditima (18.500 zapisa). Odbijanje nije bilo u podacima. Model je bio pogrešan u stvarnom svijetu jer nikada nije vidio kako će se odbačeni ponašati. Pouka: uzorak bi trebao biti reprezentativan za cijelu populaciju iz koje donosite odluku.
Slučaj 2 — Tiha promjena oblika. Tim je svaki dan izvlačio podatke o cijenama iz API-ja. Jednog dana, API provajder je promenio valutu iz USD u EUR, ali je naziv domena ostao isti. Podaci su prikupljani u pogrešnoj jedinici 12 dana; 3.200 linija je oštećeno. Lekcija: Redovno provjeravajte dosljednost volumena i formata u API podacima.
Slučaj 3 — Rano curenje. Analitičar je uključio kolonu "razlog zatvaranja računa" prilikom prikupljanja podataka za procjenu "odljeva". Ova kolona je popunjena tek nakon što je kupac otišao. Model je dao 97% tačnosti na test setu; Nije funkcionirao u proizvodnji jer je ta kolona bila prazna u vrijeme predviđanja. Pouka: svakom stupcu postavite pitanje "da li ga imam u vrijeme predviđanja?"
Četiri šablona za kopiranje
1) Ekstrakcija iz rječnika podataka:
Vaša uloga: pomoćnik naučnika podataka. Ispod su nazivi kolona i uzorci (anonimnih) vrijednosti tabele. Za svaki stupac navedite njegovo procijenjeno značenje, tip podataka i potencijalne rizike kvaliteta u tabeli. Označite kolone za koje niste sigurni kao "potrebna je potvrda"; značenje pravljenje. Kolone: [zalijepi ovdje]
2) Kod uzorka (slučajan, ponovljiv):
Imam pande df. Napišite kod koji izdvaja reprezentativni 5% slučajnog uzorka iz 200.000 redova. Koristite random_state=42 (za ponovljivost). Dodajte kod kako biste provjerili da li je klasna distribucija uzorka slična populaciji.
3) Pitanje skeniranja curenja:
Daću vam ovu listu kolona. Moj cilj je da predvidim "da li je otkazano" (0/1). Za svaku kolonu procijenite da li ću je zaista imati u trenutku predviđanja i označite je kao "sigurno / sumnjivo / curenje". Napišite svoje obrazloženje u jednoj rečenici. Kolone: [list]
4) Nacrt SQL pull upita:
Imam tabele "porudžbine" i "kupci" u PostgreSQL-u. Napišite JOIN upit koji kombinira narudžbe u posljednjih 90 dana s gradom korisnika i vraća ukupan iznos i broj narudžbi po gradu. Objasnite filter datuma i kako se rukuje NULL gradovima. Pokrenut ću upit i provjeriti ga.
Slaba prompt / Jaka prompt
Slab upit:
Izvucite mi dobar uzorak podataka iz ove baze podataka.
"Dobro" je dvosmisleno; Koja slika, koji period, koja veličina, koja namjena nije jasno. AI će proizvesti samo generički, možda pogrešan upit.
Snažan upit:
Vaša uloga: SQL asistent. Imam tabelu "transakcije": kolone id, customer_id, datum (vremenska oznaka), iznos (numerički), kanal (tekst: 'web'/'mobile'). Zadatak: Napišite ponovljivi (deterministički sa ORDER BY) upit koji vraća 10.000 reprezentativnih redova iz svakog kanala za 2024. godinu. Svrha: komparativna analiza kanala. Navedite pretpostavke vašeg upita.
Ovdje su tabela, namjena, veličina i ponovljivost jasni.
Uobičajene greške
- Ne dovodi u pitanje reprezentativnost uzorka. Lako dostupni podaci nisu tačni podaci; pristrasnost odabira iskrivljuje rezultat.
- Prilagođavanje značenja kolona AI. Izvorni tim zna značenje; Nemojte koristiti AI predviđanje bez potvrde.
- Ne prati promjenu formata/jedinice API-ja. Tiha promjena prikuplja korumpirane podatke danima.
- Zanemarivanje curenja u fazi prikupljanja. Ako se pitanje "Imam li ga u trenutku predviđanja" ne postavi rano, model će dati lažan uspjeh.
- Prikupljanje neovlaštenih ili nezakonitih podataka. Kršenje robots.txt, uslova korišćenja i KVKK-a predstavlja ozbiljan rizik.
Savjet: Zadržite "karticu podataka" na jednoj stranici za svaki novi izvor podataka: izvor, datum povlačenja, broj redova, poznate granice i stupce u opasnosti od curenja. Ova kartica čuva pitanje "šta su to podaci" i mogućnost ponovljivosti mjesecima kasnije.
Ukratko
Kvalitet analize je ograničen kvalitetom prikupljenih podataka. Dobro poznajte izvor (bazu podataka, API, fajl, scrape) i šemu; pobrinite se da uzorak bude reprezentativan za populaciju; Uklonite curenje od prvog dana tako što ćete svaku kolonu pitati „da li ga imam u trenutku predviđanja?“ AI je odličan akcelerator za upite i rad sa dokumentima, ali ljudi odlučuju koje podatke će prikupiti i njihovu reprezentativnost. Ograničenja autoriteta, zakona i povjerljivosti uvijek su na prvom mjestu.
Zadatak aplikacije
Odaberite izvor podataka (iz vlastitog poslovanja ili hipotetički). Nabavite nacrt rječnika podataka od AI s predloškom „vađenje rječnika podataka“ iznad; Zatim ručno procijenite svaku kolonu da vidite da li je procurila. Pokušajte pronaći barem jednu sumnjivu/curenje rubrike i u jednoj rečenici napišite zašto je rizično.
kontrolna lista
- [ ] Jesam li potvrdio izvor podataka i shemu s timom izvora?
- [ ] Jesam li provjerio da je uzorak reprezentativan za populaciju?
- [ ] Da li sam svakoj koloni postavio pitanje "hoću li ga imati u vrijeme procjene?"
- [ ] Da li sam napravio uzorkovanje ponovljivim (fiksno sjeme)?
- [ ] Jesam li provjerio zakonska/etička (autoritet, robots.txt, KVKK) ograničenja prikupljanja?