Câștiguri:
- Abilitatea de a distinge cauza valorilor lipsă (aleatoare, sistematice, semnificative) și de a alege strategia adecvată și de a calcula valoarea de umplere numai din antrenament
- Abilitatea de a examina valorile aberante înainte de a le șterge și de a distinge între o eroare de date și un eveniment rar adevărat
- Capacitatea de a preveni pierderea silențioasă prin monitorizarea impactului fiecărui pas asupra numărului de linii/spații libere, aducând în același timp inconsecvențele de tip și format la standard
Aproximativ 60-80% din timpul unui cercetător de date este dedicat curățeniei; În industrie, acest lucru este numit pe jumătate în glumă „dispută de date” (dispută de date sau curățare de date). Deoarece datele din lumea reală nu sunt aproape niciodată pregătite pentru analiză: datele sunt în formate mixte, numerele sunt stocate ca text, unele celule sunt goale, un client apare de trei ori în același tabel cu două ortografii diferite. În această unitate vom acoperi trei aspecte de bază ale curățării: valorile lipsă, valorile aberante și conversia tip/format. Inteligența artificială este un asistent extraordinar de rapid în această muncă; Dar tu ești cel care decizi ce și cum să cureți, pentru că fiecare alegere de curățare schimbă analiza.
Regula de aur a curățeniei: fiecare schimbare este o decizie
Ștergerea unei celule, completarea unei valori lipsă cu media, tăierea unei valori aberante - niciuna dintre acestea nu este operațiuni „neutre”. Fiecare schimbă datele și afectează rezultatul. Așadar, regula de aur a curățării: scrieți fiecare modificare în cod, notați rațiunea, nu suprascrieți niciodată datele originale. AI vă oferă un cod de curățare rapidă, dar este responsabilitatea dvs. să înțelegeți ce face codul respectiv; Nu-l rulați fără să vedeți câte linii au dispărut când spuneți „Ștergeți liniile goale”.
Atenție: Nu modificați niciodată datele brute originale. Scrieți versiunea curățată într-un fișier/tabel separat. În acest fel, dacă observați o eroare, puteți reveni la punctul unu și puteți menține reproductibilitatea.
Valori lipsă: de ce este gol, ce să faci
O valoare lipsă (care apare de obicei ca NaN — „Nu este un număr” în panda) este atunci când o celulă este goală. Dar cauza decalajului determină soluția. Există trei situații tipice. Lipsă aleatoriu: senzorul nu a funcționat o clipă; Ar putea fi rezonabil să îl completați. Lipsește sistematic: un câmp de formular este solicitat doar pentru anumiți clienți; Decalajul aici este de fapt informație. Lipsă semnificativă: dacă „data returnării” este necompletată, clientul nu a revenit; Acest spațiu înseamnă 0 sau „niciunul”, nu este completat.
Strategii majore:
Strategie
Când este potrivit?
risc
Ștergeți rândul
Rata lipsurilor este foarte scăzută (<5%) și aleatorie
Pierderea datelor și a reprezentării
Ștergeți o coloană
Cea mai mare parte a coloanei este goală (>60%)
pierderea de informații
Umplere medie/mediană
Numeric, lipsește aleatoriu
Reduce varianța și distorsionează distribuția
Categoria „necunoscută”
Lipsește categoric, sistematic
Generează categorii suplimentare
Predicție cu model
Coloană complexă, prețioasă
Risc de scurgere, complexitate
Punct critic: valoarea de imputare ar trebui calculată numai din datele de antrenament și aceeași valoare ar trebui să fie aplicată datelor de testare. Dacă includeți media datelor de testare, creați scurgeri (Unitatea 10). Mediana (valoarea medie a datelor ordinale) este adesea preferată mediei, deoarece este mai robustă la valori aberante decât media.
Valori aberante: eroare sau reale?
O valoare anormală poate fi unul dintre două lucruri: o eroare de date (999 în coloana de vârstă) sau un eveniment real, dar rar (comanda de 2 milioane USD a unui client). Confuzia celor două este dezastruoasă: ștergeți o valoare anormală adevărată și aruncați informații importante; Dacă renunți la o greșeală, mediile tale vor avea de suferit. Prin urmare, este necesar să se examineze mai întâi valorile aberante, nu să-l ștergă automat.
Metode obișnuite de detectare: metoda IQR (interval intercuartil; valorile care sunt mai mari de 1,5 ori diferența dintre chintilele de 25% și 75% ale datelor sunt considerate valori aberante) și z-score (numărul de abateri standard de la media este o valoare; de obicei un valori anormal dacă este mai mare de 3). AI scrie codul pentru aceste calcule în secunde; Dar înainte de a spune „șterge”, verificați care sunt acele valori.
Conversie tip și format: sursă de eroare silentioasă
Una dintre cele mai multe dureri de cap este confuzia tipului de date. Dacă o coloană „sumă” este stocată ca text, nu puteți adăuga; Programul citește incorect un număr formatat turcesc, cum ar fi „1.250,50” în loc de „o mie două sute cincizeci”. Datele („01/03/2024” zi-lună sau lună-zi?), categoriile („Bărbat”/„bărbat”/„M” sunt același lucru?) și unitățile (TL sau kuruş?) produc în tăcere rezultate incorecte. O mare parte a curățării constă în introducerea acestor inconsecvențe în standard: datele într-un singur format, categoriile într-o singură ortografie, numerele într-o singură unitate.
trei mini cutii
Cazul 1 – Capcana medie. O echipă a completat cele 320 de valori lipsă în coloana veniturilor cu media (48.500 USD). Neajunsurile erau însă sistematice: acestea erau segmentul cu venituri mici care nu declarase niciodată venituri. Umplerea medie a făcut acest grup bogat artificial și modelul de credit a fost greșit. Lecție: întreabă „de ce este gol” înainte de a o completa.
Cazul 2 – Valori aberante care nu ar trebui șters. Un analist de retail a șters 4 comenzi uriașe (1,8 milioane TL fiecare) din datele de vânzări, crezând că sunt „erori”. Cu toate acestea, acestea erau comenzi reale corporative și reprezentau 22% din cifra de afaceri totală. Modelul de prognoză post-ștergere a ratat complet cererea instituțională. Lecție: examinați valorile aberante înainte de a-l șterge.
Cazul 3 — Dezastru în formatul datei. Într-un CSV, datele au fost amestecate atât în „2024-03-01” cât și în „01.03.2024”. Când codul scris de YZ a fost analizat conform primului format, 6.400 de linii au devenit NaT ca „data invalidă” și au fost excluse în tăcere din analiză. Analistul a observat acest lucru abia atunci când numărul de linii a scăzut. Lecție: verificați întotdeauna numărul de rânduri și spații libere după conversie.
Patru șabloane copiabile
1) Harta valorii lipsă:
Am panda df. Scrieți codul care produce un tabel care arată numărul și procentul de lipsă (NaN) pentru fiecare coloană. Apoi, enumerați separat coloanele cu o rată lipsă care depășește 40% și cele cu o rată lipsă sub 5%. Doar generați acest cod de diagnosticare, nu ce strategie sugerați; Voi lua decizia.
2) Inspecție abere (nu ștergere):
Scrieți codul care DETECTEAZĂ (nu șterge!) valori aberante pentru coloana mea „suma” folosind metoda IQR. Puneți rândurile periferice într-un df separat, astfel încât să le pot examina manual. Tipăriți, de asemenea, numărul de valori aberante și ponderea acestora în total.
3) Standardizare tip/format:
Scrieți cod care standardizează următoarele coloane:- „data”: pot fi formate mixte („2024-03-01” și „01.03.2024”); convertiți-le pe toate în datetime, numărați-le pe cele intraductibile și raportați (aruncați în tăcere). - „gen”: „Bărbat”/„bărbat”/”M” -> „M”, „Femeie”/„femeie”/”F” -> „K”. - „suma”: text în format turcesc („1.250,50”) -> număr zecimal. Imprimați câte rânduri sunt afectate după fiecare conversie.
4) Verificați înainte/după curățare:
Scrieți cod care compară df.shape, numărul lipsă și statisticile rezumate (medie, mediană, min, max) ale coloanelor selectate înainte și după un pas de curățare. Scop: pentru a vedea ce se schimbă curățenia.
Prompt slab / Prompt puternic
Prompt slab:
Ștergeți aceste date.
„Clear” este ambiguu; AI nu știe ce părți lipsă trebuie șterse, ce să completeze, ce coloană să proceseze și cum. Rezultatul: schimbări oarbe, ireversibile.
Solicitare puternică:
Rolul tău: asistent de curățare a datelor. coloane df: customer_id (int), registration_date (text în format mixt), revenue_tl (text, „1.200.00”), oraș (text, ortografie inconsecventă). Reguli:- Schimbarea originalului df; Lucrați la copia numită df_clean.- Convertiți income_tl în număr, numărați ceea ce nu poate fi tradus.- Schimbați data_înregistrare în datetime, raportați eroarea.- Nu ștergeți niciun rând fără aprobarea mea; Arată candidații separat. După fiecare pas, imprimați df_temiz.shape și numărul lipsă.
Aici sursa este protejată, fiecare transformare este socotită, ștergerea este lăsată în seama omului.
Greșeli comune
- Completarea golurilor fără a întreba „de ce este gol?” Completarea lipsurilor sistematice/semnificative cu media denaturează datele.
- Ștergerea valorii aberante fără a-l examina. Renunțarea la evenimente reale, dar rare, distruge informații importante.
- Calcularea valorii de umplutură din toate datele. Includerea datelor de testare creează scurgeri; doar calculează din antrenament.
- Nu se verifică numărul de rânduri/spații libere după conversie. Rândurile care sunt silențioase NaT/NaN sunt excluse din analiză.
- Suprascrierea datelor originale. Revenirea și reproductibilitatea sunt pierdute.
Sfat: Rulați curățarea cu o comparație „înainte-după”. Imprimați df.shape, numărul lipsă și statisticile rezumate ale coloanelor critice după fiecare pas. Așa că vezi imediat că un pas distruge în mod neașteptat 6.000 de rânduri.
Pe scurt
Curățarea este cea mai consumatoare de timp și cea mai necesară luare de decizii a științei datelor. Fiecare modificare schimbă datele, astfel încât fiecare este o decizie conștientă. Pentru valorile lipsă, întrebați „de ce este gol?” Examinați orice valori aberante înainte de a le șterge; Aduceți tipul și formatul la standard. Calculați valoarea de umplere numai din datele de antrenament, păstrați originalul și urmăriți impactul fiecărui pas numărându-l. AI este un accelerator extraordinar în această afacere, dar oamenii decid ce curățați și de ce.
Sarcina de aplicare
Luați (sau creați) un tabel mic și introduceți în mod deliberat trei probleme în el: un tuplu de valoare lipsă, o valoare anormală, un format de dată mixt. Solicitați cod de diagnostic și standardizare de la AI cu șabloanele de mai sus; comparați numărul de rânduri și spații libere înainte/după fiecare pas. Încearcă să prinzi cel puțin o „pierdere tăcută” și notează cum ai observat-o.
lista de verificare
- [ ] Am păstrat datele brute originale și am lucrat la copie?
- [ ] Am pus întrebarea „de ce este goală” pentru fiecare coloană lipsă?
- [ ] Am examinat valorile aberante înainte de a le șterge?
- [ ] Am calculat valoarea de umplutură numai din datele de antrenament?
- [ ] Verific numărul de rânduri/spații libere după fiecare pas și elimin pierderea silențioasă?