Daromadlar:
- Yo'qolgan qiymatlarning sababini (tasodifiy, tizimli, mazmunli) ajrata olish va tegishli strategiyani tanlash va to'ldirish qiymatini faqat mashg'ulotdan hisoblash qobiliyati
- Chiqib ketishlarni o'chirishdan oldin tekshirish va ma'lumotlar xatosi va haqiqiy kam uchraydigan hodisani farqlash qobiliyati
- Har bir qadamning satrlar/bo'shliqlar soniga ta'sirini kuzatish orqali tovushsiz yo'qotishning oldini olish, shu bilan birga turdagi va formatdagi nomuvofiqliklarni standartga keltirish qobiliyati
Ma'lumot olimi vaqtining taxminan 60-80 foizi tozalashga ketadi; Sanoatda buni yarim hazillashgan holda "ma'lumotlar janjali" (ma'lumotlar janjali yoki ma'lumotlarni tozalash) deb atashadi. Haqiqiy ma'lumotlar tahlil uchun deyarli hech qachon tayyor bo'lmagani uchun: sanalar aralash formatlarda, raqamlar matn sifatida saqlanadi, ba'zi katakchalar bo'sh, mijoz ikki xil imlo bilan bitta jadvalda uch marta paydo bo'ladi. Ushbu bo'limda biz tozalashning uchta asosiy jihatini ko'rib chiqamiz: etishmayotgan qiymatlar, chegaralar va tur/format konvertatsiyasi. Sun'iy intellekt bu ishda favqulodda tezkor yordamchidir; Ammo nimani va qanday tozalashni o'zingiz hal qilasiz, chunki har bir tozalash tanlovi tahlilni o'zgartiradi.
Tozalashning oltin qoidasi: har bir o'zgarish - bu qaror
Hujayrani o'chirish, etishmayotgan qiymatni o'rtacha bilan to'ldirish, chetni kesish - bularning hech biri "neytral" operatsiyalar emas. Har biri ma'lumotlarni o'zgartiradi va natijaga ta'sir qiladi. Shunday qilib, tozalashning oltin qoidasi: kodga har bir o'zgartirishni yozing, mantiqiy fikrga e'tibor bering, hech qachon asl ma'lumotlarni qayta yozmang. AI sizga tez tozalash kodini beradi, ammo bu kod nima qilishini tushunish sizning javobgarligingizdir; "Bo'sh satrlarni o'chirish" deganda qancha satr ketganini ko'rmasdan uni ishga tushirmang.
Diqqat: Asl ma'lumotlarni hech qachon o'zgartirmang. Tozalangan versiyani alohida fayl/jadvalga yozing. Shunday qilib, agar siz xatoni aniqlasangiz, birinchi kvadratga qaytishingiz va takrorlanuvchanlikni saqlab qolishingiz mumkin.
Yo'qolgan qadriyatlar: nima uchun u bo'sh, nima qilish kerak
Yo'qolgan qiymat (odatda pandalarda NaN - "Raqam emas" sifatida ko'rinadi) hujayra bo'sh bo'lganda. Ammo bo'shliqning sababi yechimni aniqlaydi. Uchta odatiy holat mavjud. Tasodifiy etishmayotgan: sensor bir lahza ishlamadi; Uni to'ldirish oqilona bo'lishi mumkin. Tizimli etishmayotgan: forma maydoni faqat ma'lum mijozlar uchun so'raladi; Bu erda bo'shliq aslida ma'lumotdir. Muhim yo'qolgan: agar "qaytish sanasi" bo'sh bo'lsa, mijoz qaytib kelmadi; Bu bo'shliq 0 yoki "yo'q" degan ma'noni anglatadi, u to'ldirilmaydi.
Asosiy strategiyalar:
Strategiya
Qachon mos keladi?
xavf
Qatorni o'chirish
Yo'qotilgan ko'rsatkich juda past (<5%) va tasodifiy
Ma'lumotlar va vakillikning yo'qolishi
Ustunni o'chirish
Ustunning katta qismi bo'sh (>60%)
ma'lumotlarning yo'qolishi
O'rtacha/o'rtacha to'ldirish
Raqamli, tasodifiy yo'qolgan
U dispersiyani kamaytiradi va taqsimotni buzadi
"noma'lum" toifasi
Kategorik, tizimli yo'qolgan
Qo'shimcha toifalarni yaratadi
Model bilan bashorat qilish
Murakkab, qimmatbaho ustun
Oqish xavfi, murakkablik
Muhim nuqta: hisoblash qiymati faqat o'quv ma'lumotlaridan hisoblanishi kerak va xuddi shu qiymat test ma'lumotlariga qo'llanilishi kerak. Agar siz sinov ma'lumotlarining o'rtacha qiymatini kiritsangiz, siz oqish hosil qilasiz (10-birlik). Median (tartib ma'lumotlarning o'rta qiymati) ko'pincha o'rtacha ko'rsatkichga afzallik beriladi, chunki u o'rtachadan ko'ra o'zgarib turadigan ko'rsatkichlarga nisbatan mustahkamroqdir.
Cheklovlar: xato yoki haqiqiymi?
Chiqib ketish ikki narsadan biri bo'lishi mumkin: ma'lumotlar xatosi (yosh ustunida 999) yoki haqiqiy, ammo kam uchraydigan hodisa (mijozning 2 million dollarlik buyurtmasi). Ikkalasini chalkashtirib yuborish halokatli: haqiqiy chegarani o'chirib tashlang va siz muhim ma'lumotlarni tashlab yuborasiz; Agar siz xatoga yo'l qo'ysangiz, o'rtacha ko'rsatkichlaringiz yomonlashadi. Shuning uchun, uni avtomatik ravishda yo'q qilish uchun emas, balki birinchi navbatda tashqi ko'rsatkichni tekshirish kerak.
Aniqlashning umumiy usullari: IQR usuli (kvartallararo diapazon; ma'lumotlarning 25% va 75% kvintillari orasidagi 1,5 baravar farqli qiymatlar chetlab o'tilgan deb hisoblanadi) va z-skor (o'rtacha qiymatdan uzoqda bo'lgan standart og'ishlar soni; odatda, agar u 3 dan katta bo'lsa, chetga chiqadigan ko'rsatkich). AI bu hisob-kitoblar uchun kodni soniyalarda yozadi; Ammo "o'chirish" deyishdan oldin, bu qiymatlar nima ekanligini tekshiring.
Turi va formatini o'zgartirish: jim xato manbai
Eng ko'p bosh og'rig'idan biri bu ma'lumotlar turidagi chalkashlikdir. Agar "miqdor" ustuni matn sifatida saqlangan bo'lsa, siz qo'sha olmaysiz; Dasturda "bir ming ikki yuz ellik" o'rniga "1,250,50" kabi turkcha formatdagi raqam noto'g'ri o'qiladi. Sanalar ("01/03/2024" kun-oy yoki oy-kun?), toifalar ("Erkak"/"erkak"/"M" bir xilmi?) va birliklar (TL yoki kurush?) jimgina noto'g'ri natijalar beradi. Tozalashning katta qismi bu nomuvofiqliklarni standartga tortishdir: sanalar bitta formatga, toifalar bitta imloga, raqamlar bitta birlikka.
uchta mini holat
1-holat - O'rtacha tuzoq. Jamoa daromad ustunidagi etishmayotgan 320 ta qiymatni o'rtacha (48 500 dollar) bilan to'ldirdi. Ammo kamchiliklar tizimli edi: bular hech qachon daromadlarini deklaratsiya qilmagan kam daromadli segment edi. O'rtacha to'ldirish bu guruhni sun'iy ravishda boy qildi va kredit modeli noto'g'ri edi. Dars: to'ldirishdan oldin "nima uchun bo'sh" deb so'rang.
2-holat - o'chirilmasligi kerak bo'lgan chegara. Chakana savdo bo'yicha tahlilchi savdo ma'lumotlaridan 4 ta yirik buyurtmani (har biri 1,8 million TL) "xato" deb o'ylab o'chirib tashladi. Biroq, bu haqiqiy korporativ buyurtmalar bo'lib, umumiy aylanmaning 22% ni tashkil etdi. O'chirishdan keyingi prognoz modeli institutsional talabni butunlay o'tkazib yubordi. Dars: uni yo'q qilishdan oldin uni ko'rib chiqing.
3-holat - Sana formatidagi halokat. CSV formatida sanalar “2024-03-01” va “01.03.2024” sanalari aralashtirildi. YZ tomonidan yozilgan kod birinchi formatga muvofiq tahlil qilinganda, 6400 satr "yaroqsiz sana" sifatida NaT ga aylandi va jimgina tahlildan chiqarib tashlandi. Tahlilchi buni faqat chiziqlar soni kamayganida payqadi. Dars: konversiyadan keyin har doim qatorlar va bo'sh joylar sonini tekshiring.
To'rt nusxa ko'chirish shablonlari
1) etishmayotgan qiymat xaritasi:
Menda pandalar df bor. Har bir ustun uchun etishmayotganlar soni va foizini (NaN) ko'rsatadigan jadvalni yaratadigan kodni yozing. So'ngra, etishmayotgan stavka 40% dan oshadigan va 5% dan past bo'lgan ustunlarni alohida sanab o'ting. Siz taklif qilayotgan strategiyani emas, balki ushbu tashxis kodini yarating; Men qaror qabul qilaman.
2) Chetdan tekshirish (o'chirish emas):
IQR usulidan foydalanib, mening "miqdor" ustunim uchun o'zgarib turadigan qiymatlarni aniqlaydigan (o'chirmaydigan!) kodni yozing. Ularni qo'lda tekshirishim uchun chetdagi qatorlarni alohida df ga qo'ying. Shuningdek, chetlab o'tishlar sonini va ularning umumiy ulushini chop eting.
3) Tip/format standartlashtirish:
Quyidagi ustunlarni standartlashtiradigan kodni yozing:- "sana": aralash formatlar bo'lishi mumkin ("2024-03-01" va "01.03.2024"); ularning barchasini sanaga aylantiring, tarjima qilib bo'lmaydiganlarini hisoblang va hisobot bering (indamay tashlang). - "jins": "Erkak"/"erkak"/"M" -> "M", "Ayol"/"ayol"/"F" -> "K". - "summa": turkcha formatdagi matn ("1.250,50") -> kasr soni. Har bir konvertatsiyadan keyin qancha qatorga ta'sir qilishini chop eting.
4) Tozalashdan oldin/keyin tekshiring:
Tozalash bosqichidan oldin va keyin tanlangan ustunlarning df.shape, etishmayotgan soni va umumiy statistikasini (oʻrtacha, median, min, max) solishtiradigan kod yozing. Maqsad: tozalash nima o'zgarishini ko'rish.
Zaif taklif / Kuchli taklif
Zaif taklif:
Ushbu ma'lumotlarni tozalang.
"Aniq" noaniq; AI qanday etishmayotgan qismlarni o'chirish kerakligini, nimani to'ldirishni, qaysi ustunni qayta ishlashni va qanday qilishni bilmaydi. Natija: ko'r, qaytarilmas o'zgarishlar.
Kuchli so'rov:
Sizning rolingiz: ma'lumotlarni tozalash bo'yicha yordamchi. df ustunlari: customer_id (int), register_date (aralash formatdagi matn), revenue_tl (matn, "1,200.00"), shahar (matn, nomuvofiq imlo). Qoidalar:- Asl dfni o'zgartirish; df_clean nomli nusxada ishlang.- daromad_tl ni raqamga aylantiring, tarjima qilib bo'lmaydigan narsani hisoblang.- record_date ni datetime ga o'zgartiring, xato haqida xabar bering.- Mening ruxsatimsiz hech qanday qatorni o'chirmang; Nomzodlarni alohida ko'rsating. Har bir qadamdan so'ng df_temiz.shape va etishmayotgan raqamni chop eting.
Bu erda manba himoyalangan, har bir o'zgarish hisobga olinadi, o'chirish insonga qoldiriladi.
Umumiy xatolar
- “Nega bo‘sh?” deb so‘ramay, bo‘shliqlarni to‘ldirish. Tizimli/katta kamchiliklarni o'rtacha bilan to'ldirish ma'lumotlarni buzadi.
- Chiqib ketishni tekshirmasdan o'chirish. Haqiqiy, ammo kamdan-kam uchraydigan hodisalarni rad etish muhim ma'lumotlarni yo'q qiladi.
- Barcha ma'lumotlardan to'ldirish qiymatini hisoblash. Sinov ma'lumotlarini o'z ichiga olgan holda sizib chiqish paydo bo'ladi; faqat mashg'ulotdan hisoblang.
- Konvertatsiya qilinganidan keyin qatorlar/bo'shliqlar sonini tekshirmaslik. NaT/NaN tovushsiz qatorlar tahlildan chiqarib tashlanadi.
- Asl ma'lumotlarni qayta yozish. Qaytish va takrorlanish qobiliyati yo'qoladi.
Maslahat: Tozalashni "oldin-keyin" taqqoslash bilan bajaring. Har bir qadamdan so'ng muhim ustunlarning df.shape, etishmayotgan soni va umumiy statistikasini chop eting. Shunday qilib, bir qadam kutilmaganda 6000 qatorni yo'q qilishini darhol ko'rasiz.
Xulosa
Tozalash ma'lumotlar fanining eng ko'p vaqt talab qiladigan va qaror qabul qilishni talab qiladigan bosqichidir. Har bir o'zgarish ma'lumotlarni o'zgartiradi, shuning uchun ularning har biri ongli qarordir. Yo'qolgan qiymatlar uchun "nega u bo'sh?" Ularni o'chirishdan oldin har qanday cheklovni ko'rib chiqing; Turi va formatini standartga keltiring. To'ldirish qiymatini faqat mashg'ulot ma'lumotlaridan hisoblang, asl nusxasini saqlang va har bir qadamning ta'sirini hisoblash orqali kuzatib boring. Sun'iy intellekt bu biznesda ajoyib tezlatuvchidir, lekin nima va nima uchun tozalashingizni odamlar hal qiladi.
Ilova vazifasi
Kichkina jadvalni oling (yoki yarating) va unga ataylab uchta muammoni qo'shing: etishmayotgan qiymat korteji, chet ellik, aralash sana formati. Yuqoridagi shablonlar yordamida AIdan diagnostika va standartlashtirish kodini so'rang; Har bir qadamdan oldin/keyin qatorlar va bo'sh joylar sonini solishtiring. Hech bo'lmaganda bitta "jim yo'qotish" ni ushlashga harakat qiling va buni qanday sezganingizga e'tibor bering.
nazorat ro'yxati
- [ ] Asl xom maʼlumotlarni saqlab qoldim va nusxasi ustida ishladimmi?
- [ ] Har bir etishmayotgan ustun uchun "nima uchun u bo'sh" degan savolni berdimmi?
- [ ] Men ularni oʻchirishdan oldin chetlab oʻtilganlarni koʻrib chiqdimmi?
- [ ] Men toʻldirish qiymatini faqat oʻquv maʼlumotlaridan hisobladimmi?
- [ ] Har bir qadamdan so'ng qatorlar/bo'shliqlar sonini tekshirib, jimgina yo'qotishni bartaraf qilyapmanmi?