Faida:
- Uwezo wa kutofautisha sababu ya kukosa maadili (nasibu, ya kimfumo, yenye maana) na kuchagua mkakati unaofaa na kuhesabu thamani ya kujaza kutoka kwa mafunzo pekee.
- Uwezo wa kuchunguza bidhaa za nje kabla ya kuzifuta na kutofautisha kati ya kosa la data na tukio la nadra la kweli
- Uwezo wa kuzuia upotevu wa kimya kwa kufuatilia athari za kila hatua kwenye idadi ya mistari/ nafasi zilizoachwa wazi huku ukileta kutokwenda kwa aina na umbizo kwa kiwango.
Takriban asilimia 60-80 ya wakati wa mwanasayansi wa data huenda kusafisha; Katika tasnia, hii inaitwa nusu-mzaha "mabishano ya data" (mabishano ya data au kusafisha data). Kwa sababu data ya ulimwengu halisi karibu kamwe haiji tayari kwa uchanganuzi: tarehe ziko katika miundo mchanganyiko, nambari huhifadhiwa kama maandishi, visanduku vingine ni tupu, mteja huonekana mara tatu katika jedwali moja na tahajia mbili tofauti. Katika kitengo hiki tutashughulikia vipengele vitatu vya msingi vya kusafisha: thamani zinazokosekana, viambajengo, na ubadilishaji wa aina/umbizo. Akili ya Bandia ni msaidizi wa haraka sana katika kazi hii; Lakini ni wewe unayeamua nini cha kusafisha na jinsi gani, kwa sababu kila uchaguzi wa kusafisha hubadilisha uchambuzi.
Kanuni ya dhahabu ya kusafisha: kila mabadiliko ni uamuzi
Kufuta kisanduku, kujaza thamani inayokosekana kwa wastani, kupunguza kiboreshaji—hakuna oparesheni "zisizoegemea upande wowote". Kila hubadilisha data na huathiri matokeo. Kwa hivyo kanuni ya dhahabu ya kusafisha: andika kila mabadiliko kwenye msimbo, kumbuka mantiki, usiwahi kufuta data asili. AI inakupa msimbo wa kusafisha haraka, lakini ni jukumu lako kuelewa kanuni hiyo inafanya nini; Usiiendeshe bila kuona ni mistari ngapi imepita unaposema "futa mistari tupu".
Tahadhari: Usiwahi kurekebisha data asilia ghafi. Andika toleo lililosafishwa kwa faili/meza tofauti. Kwa njia hii, ukigundua hitilafu, unaweza kurudi kwenye mraba wa kwanza na kudumisha uzalishwaji tena.
Thamani zinazokosekana: kwa nini ni tupu, nini cha kufanya
Thamani inayokosekana (kwa kawaida huonekana kama NaN — "Sio Nambari" katika panda) ni wakati kisanduku hakina kitu. Lakini sababu ya pengo huamua suluhisho. Kuna hali tatu za kawaida. Kukosekana kwa nasibu: sensor haikufanya kazi kwa muda; Inaweza kuwa busara kuijaza. Kukosekana kwa utaratibu: uwanja wa fomu unaulizwa tu kwa wateja fulani; Pengo hapa ni habari kweli. Muhimu kukosa: ikiwa "tarehe ya kurudi" ni tupu, mteja hakurudi; Nafasi hii inamaanisha 0 au "hakuna", haijajazwa.
Mikakati kuu:
Mkakati
Ni wakati gani inafaa?
hatari
Futa safu mlalo
Kiwango kinachokosekana ni cha chini sana (<5%) na bila mpangilio
Kupoteza data na uwakilishi
Futa safu
Sehemu kubwa ya safu ni tupu (> 60%)
kupoteza habari
Mjazo wa wastani/wastani
Nambari, kukosa nasibu
Inapunguza tofauti na inapotosha usambazaji
Jamii "haijulikani"
Kitengo, kimfumo kinakosekana
Huzalisha kategoria za ziada
Utabiri na mfano
Ngumu, safu ya thamani
Hatari ya kuvuja, utata
Jambo muhimu: thamani ya uigaji inapaswa kuhesabiwa tu kutoka kwa data ya mafunzo na thamani sawa inapaswa kutumika kwa data ya majaribio. Ukijumuisha wastani wa data ya jaribio, utaunda uvujaji (Kitengo cha 10). Wastani (thamani ya kati ya data ya kawaida) mara nyingi hupendekezwa kwa wastani kwa sababu ni thabiti zaidi kwa wauzaji nje kuliko wastani.
Outliers: kosa au kweli?
Mtoa huduma anaweza kuwa mojawapo ya mambo mawili: hitilafu ya data (999 katika safu ya umri) au tukio la kweli lakini nadra (agizo la mteja la $2 milioni). Kuchanganya mbili ni mbaya: futa nje ya kweli na utupe habari muhimu; Ukiacha kosa, wastani wako utateseka. Kwa hiyo, ni muhimu kuchunguza nje kwanza, si kufuta moja kwa moja.
Mbinu za kawaida za utambuzi: Mbinu ya IQR (masafa ya kati; thamani ambazo ni zaidi ya mara 1.5 tofauti kati ya viwango vya 25% na 75% vya data huchukuliwa kuwa za nje) na z-alama (idadi ya mikengeuko ya kawaida kutoka kwa wastani wa thamani; kwa kawaida ni ya nje ikiwa ni kubwa kuliko 3). AI huandika msimbo wa hesabu hizi kwa sekunde; Lakini kabla ya kusema "futa", angalia maadili hayo ni nini.
Ubadilishaji wa aina na umbizo: chanzo cha hitilafu kimya
Moja ya maumivu ya kichwa zaidi ni kuchanganyikiwa kwa aina ya data. Ikiwa safu wima ya "kiasi" imehifadhiwa kama maandishi, huwezi kuongeza; Mpango huo unasoma kimakosa nambari iliyoumbizwa Kituruki kama vile "1,250.50" badala ya "elfu moja mia mbili na hamsini". Tarehe ("01/03/2024" siku-mwezi au siku ya mwezi?), kategoria ("Mwanaume"/"mwanaume"/"M" ni kitu kimoja?) na vitengo (TL au kuruş?) kimyakimya hutoa matokeo yasiyo sahihi. Sehemu kubwa ya kusafisha ni kuvuta kutokwenda hizi katika kiwango: tarehe katika muundo mmoja, kategoria katika tahajia moja, nambari katika kitengo kimoja.
kesi tatu ndogo
Kesi ya 1 - wastani wa mtego. Timu iliyojaza thamani 320 ambazo hazipo kwenye safu ya mapato kwa wastani ($48,500). Lakini mapungufu yalikuwa ya utaratibu: haya yalikuwa sehemu ya mapato ya chini ambayo haijawahi kutangaza mapato. Wastani wa kujaza ulifanya kundi hili kuwa tajiri kiholela na mtindo wa mikopo haukuwa sahihi. Somo: uliza "mbona iko wazi" kabla ya kuijaza.
Kesi 2 - Nje ambayo haifai kufutwa. Mchambuzi wa reja reja alifuta maagizo 4 makubwa (TL milioni 1.8 kila moja) katika data ya mauzo, akifikiri yalikuwa "makosa". Hata hivyo, haya yalikuwa maagizo halisi ya kampuni na yalikuwa 22% ya jumla ya mauzo. Mtindo wa utabiri wa baada ya kufutwa ulikosa kabisa mahitaji ya kitaasisi. Somo: chunguza nje kabla ya kuifuta.
Kesi ya 3 - Maafa ya muundo wa tarehe. Katika CSV, tarehe zilichanganywa katika "2024-03-01" na "01.03.2024". Wakati msimbo ulioandikwa na YZ ulichanganuliwa kulingana na umbizo la kwanza, mistari 6,400 ikawa NaT kama "tarehe batili" na ilitengwa kimya kimya kwenye uchanganuzi. Mchambuzi aliona hii tu wakati idadi ya mistari ilipungua. Somo: kila mara angalia idadi ya mistari na nafasi zilizoachwa wazi baada ya ubadilishaji.
Violezo vinne vinavyoweza kunakiliwa
1) Ramani ya thamani haipo:
Nina pandas df. Andika msimbo unaotoa jedwali linaloonyesha nambari na asilimia ya kukosa (NaN) kwa kila safu. Kisha, orodhesha kando safu wima zilizo na kiwango cha kukosa kinachozidi 40% na zile zilizo na kiwango cha kukosa chini ya 5%. Tengeneza nambari hii ya utambuzi, sio mkakati gani unapendekeza; Nitafanya uamuzi.
2) Ukaguzi wa nje (sio kufutwa):
Andika msimbo ambao DETECTS (sio ufute!) wasambazaji wa safu wima yangu ya "kiasi" kwa kutumia mbinu ya IQR. Weka safu za nje kwenye df tofauti ili niweze kuzichunguza kwa mikono. Chapisha pia idadi ya wauzaji wa nje na sehemu yao katika jumla.
3) Usanifu wa aina/umbizo:
Andika msimbo unaosawazisha safu wima zifuatazo:- "tarehe": inaweza kuwa miundo mchanganyiko ("2024-03-01" na "01.03.2024"); zibadilishe zote ziwe za tarehe, hesabu zisizoweza kutafsirika na uripoti (tupilia mbali kimya). - "gender": "Mwanaume"/"mwanaume"/"M" -> "M", "Mwanamke"/"mwanamke"/"F" -> "K". - "kiasi": maandishi ya muundo wa Kituruki ("1.250,50") -> nambari ya desimali. Chapisha ni safu mlalo ngapi zimeathirika baada ya kila ubadilishaji.
4) Angalia kabla / baada ya kusafisha:
Andika msimbo unaolinganisha df.shape, hesabu inayokosekana, na takwimu za muhtasari (wastani, wastani, min, max) ya safu wima zilizochaguliwa kabla na baada ya hatua ya kusafisha. Kusudi: kuona ni mabadiliko gani ya kusafisha.
Mwongozo dhaifu / Mwongozo thabiti
Agizo dhaifu:
Futa data hii.
"Wazi" ni utata; AI haijui ni sehemu gani zinazokosekana zinapaswa kufutwa, nini cha kujaza, ni safu gani ya kusindika na jinsi gani. Matokeo: upofu, mabadiliko yasiyoweza kutenduliwa.
Agizo lenye nguvu:
Jukumu lako: msaidizi wa utakaso wa data. df safu wima: kitambulisho cha mteja (int), tarehe_ya_rejista (maandishi ya umbizo mchanganyiko), mapato_tl (maandishi, "1,200.00"), jiji (maandishi, tahajia isiyolingana). Sheria:- Kubadilisha df asili; Fanya kazi kwenye nakala iitwayo df_clean.- Badilisha income_tl kuwa nambari, hesabu kile ambacho hakiwezi kutafsiriwa.- Badilisha record_date hadi tarehe, ripoti hitilafu.- Usifute safumlalo zozote bila idhini yangu; Onyesha wagombeaji tofauti. Baada ya kila hatua, chapisha df_temiz.shape na nambari inayokosekana.
Hapa chanzo kinalindwa, kila mabadiliko yanahesabiwa, ufutaji unaachwa kwa mwanadamu.
Makosa ya kawaida
- Kujaza mapengo bila kuuliza "kwa nini ni tupu?" Kujaza upungufu wa kimfumo/muhimu kwa wastani hupotosha data.
- Kufuta nje bila kukagua. Kutupa matukio halisi lakini adimu huharibu taarifa muhimu.
- Kuhesabu thamani ya pedi kutoka kwa data zote. Ikiwa ni pamoja na data ya majaribio hutengeneza uvujaji; hesabu tu kutoka kwa mafunzo.
- Sio kuangalia idadi ya safu mlalo/ nafasi zilizoachwa wazi baada ya ubadilishaji. Safu mlalo ambazo ni NaT/NaN kimya hazijajumuishwa kwenye uchanganuzi.
- Inabatilisha data asili. Kurudi na kuzaliana kunapotea.
Kidokezo: Endesha kusafisha kwa kulinganisha "kabla ya baada". Chapisha df.shape, hesabu inayokosekana, na takwimu za muhtasari wa safu wima muhimu baada ya kila hatua. Kwa hiyo unaona mara moja kwamba hatua moja bila kutarajia inaharibu safu 6,000.
Kwa muhtasari
Usafishaji ndio awamu inayotumia muda mwingi na inayohitaji maamuzi ya sayansi ya data. Kila mabadiliko hubadilisha data, kwa hivyo kila moja ni uamuzi wa kufahamu. Kwa thamani zinazokosekana, uliza "mbona ni tupu?" Kagua bidhaa zozote za nje kabla ya kuzifuta; Leta aina na umbizo kwa kiwango. Kokotoa thamani ya kujaza kutoka kwa data ya mafunzo pekee, weka asili, na ufuatilie athari ya kila hatua kwa kuihesabu. AI ni mchapuko mkubwa katika biashara hii, lakini wanadamu huamua unachosafisha na kwa nini.
Jukumu la maombi
Chukua (au unda) meza ndogo na uingize kwa makusudi matatizo matatu ndani yake: tuple ya thamani inayokosekana, nje, muundo wa tarehe mchanganyiko. Omba utambuzi na msimbo wa kusawazisha kutoka kwa AI na violezo hapo juu; linganisha idadi ya safu mlalo na nafasi zilizoachwa wazi kabla/baada ya kila hatua. Jaribu kupata angalau "hasara ya kimya" na kumbuka jinsi ulivyoona.
orodha ya ukaguzi
- [ ] Je, nilihifadhi data mbichi asili na kufanyia kazi nakala?
- [ ] Je, nimeuliza swali "mbona ni tupu" kwa kila safu inayokosekana?
- [ ] Je, nilikagua wauzaji wa nje kabla ya kuvifuta?
- [ ] Je, nilihesabu thamani ya pedi kutoka kwa data ya mafunzo pekee?
- [ ] Je, ninakagua idadi ya mistari/ nafasi zilizoachwa wazi baada ya kila hatua na kuondoa hasara ya kimyakimya?