Ushbu maqola mashinani o'rganish va ML modellarini yaratishning oxirigacha hayot aylanishining chuqur tahlilini beradi. Mashinani o'rganish modellari nimaga qodirligini hammamiz bilamiz va ba'zi mashhurlari aktsiyalarni bashorat qilish, elektron pochta spamlarini filtrlash va birja savdosi kabi bir nechtasini nomlash mumkin... Bunday muammoli bayonotlar ustida ishlashni boshlash uchun hayot aylanishi kerak Ma'lumotlardan tortib to joylashtirishgacha bo'lgan mashinani o'rganish modelini ishga tushirish uchun bajarilishi kerak bo'lgan ishning barcha bo'limlari bilan bog'liq.

Mashinani oxirigacha o'rganish bilan shug'ullanadigan asosiy bo'limlar quyidagilardir:

I. Muammo bayoni

II. Ma'lumotlar + EDA

III. Ma'lumotlarni tozalash

IV. Trening va test

V. Joylashtirish

I. Muammo bayoni

Haqiqiy dunyoda ko'plab muammoli bayonotlar mavjud bo'lsa-da, barchasini mashinani o'rganish texnikasi yordamida hal qilib bo'lmaydi, ba'zilarini hech qanday mashinani o'rganish kodidan foydalanmasdan oddiy yoki murakkab dasturiy ta'minot texnologiyalari yordamida hal qilish mumkin. Muammo bayonotini ko'rib chiqishda ba'zi omillar:

a. Mashinalarni o'rganish bilan bog'liq muammolar odatda sinovdan o'tganda katta aniqlik va natijalarni olish uchuno'qitish uchun ko'p ma'lumotlarni talab qiladi. Agar muayyan muammo bayonotida muammo bilan bog'liq ko'p ma'lumotlar bo'lmasa, modellar past aniqlikni keltirib chiqarishi yoki mos keladigan muammolarga olib kelishi mumkin.

II. Ma'lumotlar + Exploratory Data Analysis (EDA)

Ikkinchi bo'lim ikkita asosiy qismdan, ya'ni ma'lumotlar va EDAdan iborat. Yuqorida aytib o'tilganidek, har qanday mashinani o'rganish modeli o'qitish uchun juda ko'p sifatli ma'lumotlarni talab qiladi. Modelingiz uchun maʼlumotlarni yigʻish maʼlumotlar yigʻish deb nomlanadi

Ma'lumotlar to'plami:Ma'lumotlar - bu faktlar to'plami. ma'lumotlar har qanday turdagi bo'lishi mumkin, masalan, qatorlar va ustunlar (jadvallar), JSON, tasvirlar, videolar, matnlar, audiolar va h.k.. Umuman olganda, ML modellari rasmiy ravishda .csv fayllari deb ataladigan jadval ma'lumotlari bilan shug'ullanadi, ammo shunday bo'lishi mumkin. veb-saytlardan olingan JSON fayllari, so'rovlar yordamida ma'lumotlar bazalaridan olingan ma'lumotlar va boshqalar kabi tuzilmagan ma'lumotlar shaklidan foydalanish kerak bo'lgan holatlar ... Biz keyingi maqolalarda ma'lumotlarni qanday to'plashni muhokama qilamiz.

EDA: Ehtimol, mashinani o'rganishning eng muhim qismidir. Turli manbalar va usullardan ma'lumotlarni to'plagandan so'ng, bizda bir qator qatorlar va ustunlar mavjud (keyingi muhokamalar uchun biz ma'lumotlarni .csv fayllari, ya'ni jadval ma'lumotlari sifatida ko'rib chiqamiz). EDA ikki qismga bo'linadi:

1. Bir o'zgaruvchan tahlil

2. Ikki o‘zgaruvchanlik tahlili

Nomidan ko'rinib turibdiki, bu tahlillar bitta xususiyat/ustun (yoki) ikki yoki undan ortiq xususiyat/ustunlar birlashtirilganda amalga oshiriladi.

Bir o'zgaruvchan tahlilda har bir ustun ustunda etishmayotgan qiymatlar, noto'g'ri ma'lumotlar turi, chetlab o'tishlar va hokazolarni o'z ichiga olganligini aniqlash uchun tahlil qilinadi... Har qanday turdagi ma'lumotlar ikki toifaga bo'linadi, ya'ni kategorik va raqamli. Kategorik ma'lumotlar turlarida ma'lumotlar ma'lumotlar qaysi toifaga tegishli ekanligi haqida gapiradi, masalan. Erkak/Ayol, A/B/C darajasi, mamlakat (AQSh/IN/GB), lavozim (CEO/CFO) va boshqalar... Matplot kabi vizualizatsiya vositalari maʼlumotlarga qarashdan koʻra koʻproq maʼlumot beradi. Countplot, piechart, histplot va boshqalar kabi uchastkalardan foydalanib, biz ushbu ustunlarni tasavvur qilishimiz va ular haqida aniqroq ma'lumot olishimiz mumkin.

Ikki o'zgaruvchanlik tahlilidaikki yoki undan ortiq ustunlar birgalikda tahlil qilinadi, masalan, tajriba va ish haqi bu ustunlar va ularbir-biri bilan qanday korrelyatsiyani yaxshiroq tushunish uchun. Xususiyatlar o'rtasidagi munosabatni bilish bu jarayonda juda muhim, chunki u bizga xususiyatni tanlash jarayonida yordam beradi. scatter, box plot, histplot va boshqalar kabi chizmalardan foydalanib, biz bu ustunlarni tasavvur qilishimiz mumkin.

EDA haqida keyingi maqolalarda batafsil muhokama qilamiz.

III. Ma'lumotlarni tozalash

Ehtimol, real vaqt rejimidagi ma'lumotlar bilan shug'ullanadigan har qanday ma'lumot tahlilchisi/olim uchun eng ko'p vaqt talab qiladigan jarayon.Hech bir ma'lumotlar to'plami mukammal emas(qanday filmli chiziq 😉) Har bir maʼlumotlar toʻplamida etishmayotgan qiymatlar, oʻzga koʻrsatkichlar va h.k. kabi kamchiliklar mavjud... Mashinani oʻrganish modeliga toza maʼlumotlarni yuborish juda zarur. MLda oltin qoida:

Grabage In..Grabage Out..ya'ni. Agar siz tozalangan ma'lumotlarni o'rtacha Ml modeliga yuborsangiz, u tozalanmagan ma'lumotlarga ega yaxshi ml modelidan ancha yaxshi ishlaydi.

Siz bajarishingiz kerak bo'lgan umumiy ma'lumotlarni tozalashning ba'zilari:

a. Yo'qotilgan qiymat:Yo'qolgan qiymatlarni qayta ishlash zarur, chunki ML modelida etishmayotgan qiymatlar mavjud bo'lganda chalkashishi mumkin. Yo'qotilgan qiymatlarni qayta ishlash ko'p jihatdan amalga oshirilishi mumkin. Eng mashhur usullardan ba'zilari: (i) butun ustunni olib tashlash va (ii) sckit-learn danimputersdan foydalanish.

b. Ustunlar va dublikatlarni o'chirish:Ma'lumotlar to'plamida EDAni amalga oshirganingizdan so'ng, modelda hech qanday ahamiyatga ega bo'lmagan bir nechta ustunlar mavjudligini e'lon qilishingiz mumkin, bunday ustunlarma'lumotlar to'plamidan olib tashlanishi mumkin. masalan. Xodimning identifikatori, Amazonda buyurtma identifikatori va boshqalar... Maʼlumotlarni kiritish xatosi tufayli baʼzi qatorlar koʻpaytirilishi mumkin, bu qatorlarni olib tashlash kerak, chunki u faqat sizning maʼlumotlaringizni takrorlaydi, bu esa modelning past ishlashiga olib keladi.

c. Noto'g'ri va nomuvofiq:Ba'zi ma'lumotlar, masalan, siz mustaqil boshqarishingiz kerak bo'lgan avtomobil narxining -ve qiymatlari uchun noto'g'ri bo'lishi mumkin. Kategorik ma'lumotlar uchun siz ustun ichidagi noyob qiymatni tahlil qilish uchun vaqt sarflashingiz kerak, masalan. rang ustunida ko'k, ko'k, KO'K, ko'k va boshqalar mavjud ... texnik jihatdan barchasi ML modeli uchun har xil xususiyatlardir, ammo ularning deyarli barchasi bir xil xususiyatlarga ega.

d. Kategorik ma'lumotlar:ML modellari odatda raqamli ma'lumotlar bilan ta'minlanadi. Ml modellari qiymatlarning mutlaq ahamiyatini tushunmaydi, shuning uchun ularni raqamli sinflarga aylantirishingiz kerak, masalan. ko'k rang va qizil mos ravishda 1,2 raqamli sinflarga aylantirilishi mumkin. Ko'pgina kodlash usullari mavjud, masalanbitta issiq kodlash, yorliq kodlash, ikkilik kodlash, maqsadli kodlash, tartib kodlash va h.k...

Ushbu bosqichda siz qaysi algoritm ustida ishlashingiz tavsiya etiladi, chunki daraxtga asoslangan algoslar chegaralarni aniqlash yoki masshtablashtirishni talab qilmaydi.

e. Chetdan tashqari qiymatlarni aniqlash:Chet ma’lumotlar to‘plamidagi ma’lumotlar nuqtalari bo‘lib, ular namunadagi boshqa qiymatlardan g‘ayritabiiy masofada joylashgan (“batafsil ma’lumot bu yerda”).Har qanday aniqlangan chegaralar ma'lumotlar to'plamidan olib tashlanishi kerak.Daraxtga asoslangan algoritmlar uchun shart emas.

f. Xususiyatlarni tanlash:Faqat eng ma'lumot beruvchi o'zgaruvchilarning ma'lum bir qismi ishlatiladi va modelga kiritiladi. Bu modelning aniqroq ishlashiga yordam beradi va kamroq hisoblash narxiga va yaxshilangan tezlikka ega bo'lishi mumkin. Yaxshi model uchun xususiyatlarni tanlash texnikasi muammo bayoni, tajriba, sinov va xatolik haqidagi domen bilimiga bog'liq.

g. Xususiyatlarni masshtablash:Bu ma'lumotlarni qayta ishlashning oxirgi bosqichi bo'lib, ma'lumotlarni bir xil masshtabga o'tkazish bilan shug'ullanadi. Masofaga asoslangan algoritmlar, masalan, masofani hisoblash uchun ustun qiymatlari juda katta bo'lgan muammoga duch kelishi mumkin. (yosh, ish haqi) masofalar juda katta bo'lishi mumkin, chunki 35 yoshda ish haqi 35 L yoki shunga o'xshash bo'lishi mumkin. Buni standartlashtirish va normallashtirish usullari yordamida olish mumkin. Daraxtga asoslangan algoritmlar uchun kerak emas.

Yuqoridagi usullarni bajarish tartibi aniq emas va muammo bayoniga qarab mos ravishda o'zgarishi mumkin. Kelgusi maqolalarda har bir usul haqida batafsilroq bilib olamiz.

IV. Trening va test

Yuqoridagi usullarni bajargandan so'ng, tozalangan ma'lumotlarni olish uchun endi ma'lumotlar mashinani o'rganish modellariga kiritilishi kerak. Treningdan oldin bir nechta muhim qadamlarni bajarish kerak:

a. Tasdiqlashning bo'linishi:Ma'lumotlarni modelga kiritishdan oldin ma'lumotlar odatda 2 qismga bo'linadi, ya'ni o'quv ma'lumotlari va tekshirish ma'lumotlari (ba'zida test to'plami ham). ML modeli faqat o'quv ma'lumotlaridan foydalanishni o'rganadi. Tekshirish to'plami ma'lumotlar to'plamida bashoratlarning qanchalik aniqligini ta'minlash orqali model ishlashini baholash uchun ishlatiladi. k-katlamli o'zaro tekshirish kabi ilg'or usullardan foydalanish mumkin.

b. Modellashtirish:Umumiy ko‘rinishda ML modellarini 2 toifaga bo‘lish mumkin, ya’ni (i) nazorat ostidagi va (ii) nazoratsiz o‘rganish. Nazorat ostidagi oʻrganishda kirish va chiqish maʼlumotlari maʼlumotlar toʻplamida mavjud. Biz regressiya va tasniflash kabi operatsiyalarni bajarishimiz mumkin, bu erda chiqish mos ravishda sonli va toifali bo'ladi. Nazoratsiz oʻrganishdafaqat maʼlumotlar toʻplamida kiritilgan maʼlumotlar beriladi. Biz klasterlash, o'lchamlarni kamaytirish, anomaliyalarni kamaytirish va hokazolarni bajarishimiz mumkin... Turli modellar bo'yicha chuqur ma'lumot va matematik sezgini turli maqolalarda topish mumkin.

c. Natijalar va sozlash:Ma'lumotni o'qitish va tekshirishdan so'ng sizga o'rgatilgan modelning aniqligini olish kerak. Umuman olganda, yaxshi ml modeli hech qanday moslashuv muammosisiz taxminan 95% aniqlikka ega deb hisoblanadi.

Modellashtirishda ehtiyot bo'lishingiz kerak bo'lgan muhim jihat bubias-variance trade-off. (Batafsil ma'lumot bu yerda)

V. Joylashtirish

Voy, biz yaxshi aniq ML modelini yaratish uchun juda ko'p operatsiyalarni bajardik. Endi yana bir qadam oldinga boring va ML modelingizni o'rnating va muammoni hal qilish uchun foydalaning, masalan. spamni aniqlash, kredit karta firibgarligini aniqlash, birja savdosi va hokazolar uchun... Ilovangizda ml modellaringizni joylashtirishning ko'plab usullari mavjud, masalan. pl fayllar (tuzlangan), tezkor API, Mobil ilovalar uchun TensorFlow lite va boshqalar...

Maqola sizga yoqadi degan umiddaman 😉 ML bo'yicha ko'proq maqolalar uchun Medium va LinkedIn sahifalarida meni kuzatib boring.