zisky:
- Schopnosť rozlíšiť príčinu chýbajúcich hodnôt (náhodná, systematická, zmysluplná) a zvoliť si vhodnú stratégiu a vypočítať hodnotu naplnenia zo samotného tréningu
- Schopnosť preskúmať odľahlé hodnoty pred ich odstránením a rozlíšiť medzi chybou údajov a skutočnou zriedkavou udalosťou
- Schopnosť zabrániť tichej strate monitorovaním vplyvu každého kroku na počet riadkov/prázdnych miest, pričom sa typ a formát nezrovnalosti dostanú do štandardu
Približne 60 – 80 percent času dátového vedca pripadá na čistenie; V priemysle sa tomu napoly žartom hovorí „data wrangling“ (zápas s údajmi alebo čistenie údajov). Pretože údaje z reálneho sveta takmer nikdy nie sú pripravené na analýzu: dátumy sú v zmiešaných formátoch, čísla sú uložené ako text, niektoré bunky sú prázdne, zákazník sa v tej istej tabuľke objaví trikrát s dvoma rôznymi pravopismi. V tejto časti sa budeme zaoberať tromi základnými aspektmi čistenia: chýbajúcimi hodnotami, odľahlými hodnotami a konverziou typu/formátu. Umelá inteligencia je pri tejto práci mimoriadne rýchly pomocník; Ale ste to vy, kto rozhoduje o tom, čo a ako čistiť, pretože každá voľba čistenia mení analýzu.
Zlaté pravidlo upratovania: každá zmena je rozhodnutie
Vymazanie bunky, doplnenie chýbajúcej hodnoty strednou hodnotou, orezanie odľahlej hodnoty – žiadna z týchto operácií nie je „neutrálna“. Každý mení údaje a ovplyvňuje výsledok. Takže zlaté pravidlo čistenia: zapíšte každú zmenu do kódu, poznačte si zdôvodnenie, nikdy neprepisujte pôvodné údaje. AI vám poskytuje rýchly čistiaci kód, ale je vašou zodpovednosťou pochopiť, čo tento kód robí; Nespúšťajte ho bez toho, aby ste videli, koľko riadkov je preč, keď poviete „vymazať prázdne riadky“.
Upozornenie: Nikdy neupravujte pôvodné nespracované údaje. Zapíšte vyčistenú verziu do samostatného súboru/tabuľky. Týmto spôsobom, ak zistíte chybu, môžete sa vrátiť na začiatok a zachovať reprodukovateľnosť.
Chýbajúce hodnoty: prečo je prázdny, čo robiť
Chýbajúca hodnota (zvyčajne sa v pandách zobrazuje ako NaN – „Nie je číslo“) je, keď je bunka prázdna. Ale príčina medzery určuje riešenie. Existujú tri typické situácie. Náhodne chýba: snímač chvíľu nefungoval; Možno je rozumné ho vyplniť. Systematické chýba: pole formulára sa vyžaduje len pre určitých zákazníkov; Medzera je tu vlastne informácia. Významné chýbajúce údaje: ak je „dátum vrátenia“ prázdne, zákazník sa nevrátil; Táto medzera znamená 0 alebo „žiadne“, nie je vyplnená.
Hlavné stratégie:
Stratégia
Kedy je to vhodné?
riziko
Odstrániť riadok
Miera chýbania je veľmi nízka (<5 %) a náhodná
Strata údajov a reprezentácie
Odstráňte stĺpec
Väčšina stĺpca je prázdna (> 60 %)
stratu informácií
Priemerná/stredná výplň
Číselné, chýbajúce náhodne
Znižuje rozptyl a skresľuje rozloženie
kategória "neznáme"
Kategorický, systematický chýba
Generuje ďalšie kategórie
Predpoveď s modelom
Komplexný, vzácny stĺp
Riziko úniku, zložitosť
Kritický bod: imputačná hodnota by sa mala vypočítať iba z tréningových údajov a rovnaká hodnota by sa mala použiť na testovacie údaje. Ak zahrniete priemer testovacích údajov, vytvoríte únik (jednotka 10). Medián (stredná hodnota ordinálnych údajov) sa často uprednostňuje pred priemerom, pretože je robustnejší voči odľahlým hodnotám ako priemer.
Odľahlé hodnoty: chyba alebo skutočnosť?
Odľahlá hodnota môže byť jedna z dvoch vecí: chyba údajov (999 v stĺpci vek) alebo skutočná, ale zriedkavá udalosť (objednávka zákazníka v hodnote 2 milióny USD). Zámena týchto dvoch hodnôt je katastrofálna: odstráňte skutočnú odľahlú hodnotu a zahodíte dôležité informácie; Ak pustíte chybu, utrpia vaše priemery. Preto je potrebné najskôr preskúmať odľahlú hodnotu, nie ju automaticky vymazať.
Bežné metódy detekcie: metóda IQR (medzikvartilový rozsah; hodnoty, ktoré sú viac ako 1,5-násobkom rozdielu medzi 25 % a 75 % kvintilov údajov, sa považujú za odľahlé hodnoty) a z-skóre (počet štandardných odchýlok od priemeru, ktorým je hodnota; zvyčajne odľahlá hodnota, ak je väčšia ako 3). AI zapíše kód pre tieto výpočty v priebehu niekoľkých sekúnd; Ale skôr, ako poviete „vymazať“, skontrolujte, aké sú tieto hodnoty.
Konverzia typu a formátu: tichý zdroj chýb
Jednou z najväčších bolestí hlavy je zmätok typu údajov. Ak je stĺpec „suma“ uložený ako text, nemôžete ho pridať; Program nesprávne číta číslo v tureckom formáte, napríklad „1 250,50“ namiesto „tisícdvestopäťdesiat“. Dátumy ("01/03/2024" deň-mesiac alebo mesiac-deň?), kategórie ("Muž"/"muž"/"M" sú to isté?) a jednotky (TL alebo kuruş?) v tichosti prinášajú nesprávne výsledky. Veľká časť upratovania je vtiahnutie týchto nezrovnalostí do normy: dátumy do jedného formátu, kategórie do jedného pravopisu, čísla do jedného celku.
tri mini prípady
Prípad 1 – Priemerná pasca. Tím vyplnil 320 chýbajúcich hodnôt v stĺpci príjmu s priemerom (48 500 USD). Nedostatky však boli systematické: išlo o segment s nízkymi príjmami, ktorý nikdy nepriznal príjem. Priemerné plnenie spôsobilo, že táto skupina bola umelo bohatá a úverový model bol nesprávny. Lekcia: pred vyplnením sa opýtajte „prečo je to prázdne“.
Prípad 2 – Mimoriadna hodnota, ktorá by sa nemala vymazať. Maloobchodný analytik vymazal z údajov o predaji 4 obrovské objednávky (každá 1,8 milióna TL), pričom si myslel, že ide o „chyby“. Išlo však o skutočné firemné zákazky a tvorili 22 % z celkového obratu. Model prognózy po vypustení úplne minul inštitucionálny dopyt. Ponaučenie: pred odstránením odľahlej hodnoty skontrolujte.
Prípad 3 – Katastrofa formátu dátumu. V súbore CSV boli dátumy zmiešané s údajmi „2024-03-01“ a „01.03.2024“. Keď bol kód napísaný YZ analyzovaný podľa prvého formátu, 6 400 riadkov sa stalo NaT ako "neplatný dátum" a bolo ticho vylúčených z analýzy. Analytik si to všimol, až keď sa počet riadkov znížil. Ponaučenie: po konverzii vždy skontrolujte počet riadkov a medzier.
Štyri kopírovateľné šablóny
1) Chýbajúca mapa hodnôt:
Mám pandy df. Napíšte kód, ktorý vytvorí tabuľku zobrazujúcu počet a percento chýbajúcich (NaN) pre každý stĺpec. Potom samostatne uveďte stĺpce s chybou presahujúcou 40 % a stĺpce s chybou pod 5 %. Len vygenerujte tento diagnostický kód, nie akú stratégiu navrhujete; Ja urobím rozhodnutie.
2) Kontrola odľahlých hodnôt (nevypúšťa sa):
Napíšte kód, ktorý ZISTÍ (nie vymaže!) odľahlé hodnoty pre môj stĺpec „suma“ pomocou metódy IQR. Umiestnite odľahlé riadky do samostatného df, aby som ich mohol ručne preskúmať. Vytlačte aj počet odľahlých hodnôt a ich podiel na celkovom súčte.
3) Štandardizácia typu/formátu:
Napíšte kód, ktorý štandardizuje nasledujúce stĺpce:- "dátum": môžu byť zmiešané formáty ("2024-03-01" a "01.03.2024"); previesť ich všetky na dátum a čas, spočítať tie nepreložiteľné a nahlásiť (potichu zahodiť). - "pohlavie": "Muž"/"muž"/"M" -> "M", "Žena"/"žena"/"Ž" -> "K". - "suma": turecký formátovaný text ("1.250,50") -> desatinné číslo. Vytlačte, koľko riadkov je ovplyvnených po každej konverzii.
4) Skontrolujte pred / po čistení:
Napíšte kód, ktorý porovná df.shape, chýbajúci počet a súhrnné štatistiky (priemer, medián, min, max) vybratých stĺpcov pred a po kroku čistenia. Účel: zistiť, čo sa mení pri čistení.
Slabá výzva / Silná výzva
Slabá výzva:
Vymažte tieto údaje.
"Jasné" je nejednoznačné; AI nevie, ktoré chýbajúce časti by sa mali vymazať, čo vyplniť, ktorý stĺpec spracovať a ako. Výsledok: slepé, nezvratné zmeny.
Výkonná výzva:
Vaša úloha: asistent čistenia dát. df stĺpce: customer_id (int), registration_date (zmiešaný formát textu), income_tl (text, "1 200,00"), mesto (text, nekonzistentný pravopis). Pravidlá:- Zmena pôvodného df; Pracujte na kópii s názvom df_clean.- Preveďte príjem_tl na číslo, spočítajte, čo sa nedá preložiť.- Zmeňte dátum záznamu na dátum a nahláste chybu.- Bez môjho súhlasu neodstraňujte žiadne riadky; Ukážte kandidátov samostatne. Po každom kroku vytlačte df_temiz.shape a chýbajúce číslo.
Tu je zdroj chránený, každá premena sa počíta, vymazanie je ponechané na človeka.
Časté chyby
- Vypĺňanie medzier bez otázky „prečo je prázdne?“ Doplnenie systematických/významných chýbajúcich priemerom skresľuje údaje.
- Odstránenie odľahlej hodnoty bez jej preskúmania. Zavrhnutie skutočných, ale zriedkavých udalostí ničí dôležité informácie.
- Výpočet hodnoty výplne zo všetkých údajov. Zahrnutie testovacích údajov vytvára únik; stačí počítať z tréningu.
- Po konverzii sa nekontroluje počet riadkov/medzier. Riadky, ktoré sú ticho NaT/NaN, sú vylúčené z analýzy.
- Prepísanie pôvodných údajov. Návratnosť a reprodukovateľnosť sú stratené.
Tip: Spustite čistenie s porovnaním „pred-po“. Po každom kroku vytlačte df.shape, chýbajúci počet a súhrnnú štatistiku kritických stĺpcov. Takže okamžite vidíte, že jeden krok nečakane zničí 6 000 riadkov.
V súhrne
Čistenie je časovo najnáročnejšia a najnáročnejšia fáza vedy o údajoch. Každá zmena mení dáta, takže každá je vedomým rozhodnutím. V prípade chýbajúcich hodnôt sa opýtajte „prečo je prázdna?“ Skontrolujte všetky odľahlé hodnoty pred ich odstránením; Uveďte typ a formát na štandard. Vypočítajte hodnotu naplnenia len z tréningových údajov, ponechajte si originál a sledujte vplyv každého kroku jeho počítaním. Umelá inteligencia je v tomto odvetví obrovským urýchľovačom, ale ľudia rozhodujú o tom, čo a prečo čistíte.
Aplikačná úloha
Vezmite (alebo vytvorte) malú tabuľku a schválne do nej vložte tri problémy: chýbajúcu n-ticu hodnôt, odľahlú hodnotu, zmiešaný formát dátumu. Vyžiadajte si diagnostiku a štandardizačný kód od AI pomocou vyššie uvedených šablón; porovnajte počet riadkov a medzier pred/po každom kroku. Skúste zachytiť aspoň jednu „tichú prehru“ a všimnite si, ako ste si ju všimli.
kontrolný zoznam
- [ ] Ponechal som si pôvodné nespracované údaje a pracoval som na kópii?
- [ ] Položil som otázku „prečo je prázdny“ pre každý chýbajúci stĺpec?
- [ ] Skontroloval som odľahlé hodnoty pred ich odstránením?
- [ ] Vypočítal som hodnotu výplne iba z tréningových údajov?
- [ ] Kontrolujem počet riadkov/prázdnych miest po každom kroku a eliminujem tichú stratu?