Soʻnggi yillarda zamonaviy Sunʼiy intellekt (Artificial Intelligence) yoʻnalishining asosi boʻlgan Data Science yaʼni Maʼlumotlar muhandisligi faniga qiziqish ortib bormoqda.
Ushbu maqolada Data Science sohasiga qiziqqanlar uchun batafsil yoʻl xaritasini tuzamiz. Kelajakda shu yoʻnalishda ketishni istaganlar qanday bilimlarni va texnologiyalarni oʻrganishlari keraklgini korʻib chiqamiz. Qoʻldan kelgancha har bir qadam uchun qoʻllanma, darslik yoki onlayn kurslarni ham tavsiya qilamiz.
0. MATEMATIKA VA STATISTIKA
Esingizda boʻlsin Data Science oʻz nomi bilan “science” yaʼni ilm-fanning bir yoʻnalishi. Zamonaviy Sunʼiy intellekt asosida ishlaydigan dasturlar ortida gigabayt, balki terabaytlab axborotlarni tahlil qilish, ulardan foydali maʼlumotlarni olish va nihoyat bevosita matematik modellar yaratish turadi.
Umuman olganda, sunʼiy intellekt yaratishning 70–80% vaqti maʼlumotlarni tahlil qilishdan va qolgan 20–30% esa bevosita dasturlashdan iborat. Shuning uchun bu sohaga kirgan insondan matematika, statistika va ehtimollar nazariyasidan minimal bilimlarga ega boʻlish talab qilinadi.
Zamonaviy frameworklar matematik formulalarni dastur koʻrinishga keltirishda katta yordam bersada, formula qanday ishlashi va undan qanday natija kutish haqida tasavvuringiz boʻlishi kerak.
Demak bu qadamda talab qilinadigan bilimlar:
- Funksiyalar, tenglamalar, formulalar va grafiklar
- Statistika: oʼrta qiymat, median qiymat, dispersiya, korrelyatsiya va hokazo
- Ehtimollar nazariyasi: ehtimollikni hisoblash, Bayes teoremasi, shartli ehtimollik, turli hil taqsimotlar (uniform, normal)
- Chiziqli Algebra: vektorlar, matrisalar va ular ustida amallar. Matrisalarning maxsus turlari.
- Diskret matematika va maʼlumotlar tuzilmasi: toʻplamlar, stack, queue, graflar, array, hash jadvallar va shajara.
- Matematik analiz asoslari: hosila, integral.
Esingizda tursin, sizdan talab qilinadigani, matematik bo’lish emas, balki yuqoridagi narsalarning qayerda ishlatilishi va qanday ishlashi haqida tasavvurga ega bo’lish xolos.
Vaqt: Yuqoridagi bilimlarni oʻzlashtirishga qancha vaqt ketishi sizga bogʻliq. Mening shaxsiy tavsiyam bularni oʻrganish uchun alohida vaqt sarflamasdan, maʼlum bir matematik muammoga duch kelganingizda aynan shu mavzuga oid darslarni koʻrib chiqish.
Manbalar:
- Matematika maktab kursi video darslari: https://www.youtube.com/c/Matematikadarslari
- Khan Akademiyasining o’zbek tilidagi darslari: https://uz.khanacademy.org/
- “EHTIMOLLAR NAZARIYASI VA MATEMATIK STATISTIKA” kitobi (pdf yuklab olish).
- Maʼlumotlar tuzilmasi va algoritmlar onlayn kursi: https://mohirdev.uz/courses/algoritmlar/
1. DASTURLASH TILI
Albatta soha mutaxassisi sifatida bevosita Data Science uchun qulay dasturlash tillaridan birini oʻzlashtirish talab qilinadi. Bugungi kunda sizning oldingizda ikki tanlov bor:
- R: Bevosita maʼlumotlar bilan ishlash, turli matematik va statistik hisob-kitob va tahlil uchun ishlatiladi. Agar siz matematikada kuchli boʻlsangiz va bevosita maʻlumotlar tahlili bilan shugʻullanishni istasangiz, sizning tanlovingiz R dasturlash tili.
- Python: Yuqori darajadagi, umumiy maqsadli dasturlash tili. Python oddiy dasturlardan tortib, murakkab hisob-kitoblar va tizimlar yaratish uchun ham ishlatiladi.
Agar sizning maqsadingiz matematik hisob-kitoblardan o’tib, sunʼiy intellekt asosida ishlaydigan dasturlar yaratish boʻlsa, Pythondan afzalroq tilni topa olmaysiz. Python oʻrganish uchun oson, dasturlash uchun qulay va muhimi Data Sciencga oid tayyor funksiyalar, kutubxonalar va frameworklarga boy tildir.
Bugungi kunda Google, Facebook, Tesla, IBM, Amazon kabi kompaniyalar ham oʻz sunʼiy intellekt dasturlarini yaratishda Pythondan foydalanib kelishadi.
Vaqt: 1-3 oydan koʻp vaqt ketkazmang.
Manba:
- Pythonda dasturlash asoslari: https://python.sariq.dev
3. MAʼLUMOTLAR OMBORI
Maʼlumotlar bilan ishlash uchun oʻz-oʻzidan maʼlumotlarni biror joyda saqlash, kerak vaqtda unga murojaat qilish, maʼlumotlar orasidan oʻzimizga kerak qismini filtrlab, ajratib olishni ham bilishimiz kerak.
Bugungi kunda SQL (va unga oʻxshash) maʼlumotlar omboridan foydalanish maʼlumotlarni saqlashning eng ommabop usuli hisoblanadi. Demak siz ham SQL maʼlumotlar ombori bilan ishlashni minimal darajada bilishingiz kerak boʻladi. Jumladan, omborga murojaat qilish, undagi maʼlumotlarni maʼlum parametr yoki filtr asosida chaqirib olish, maʼlumotlarni tartiblash, ularni qaytarib omborga yuklash va hokazo.
Vaqt: Bu qadamda juda koʻp vaqt sarflamang, yuqorida aytilgan minimal bilimlarni oʻzlashtirishga 2–3 haftadan koʻp vaqt ketmasligi kerak.
Manbalar:
- Farkhod Dadajonovdan SQL darslari: https://youtube.com/playlist?list=PL1538BF8E4A3E5D56
- SQLga oid qoʻllanmalar: https://www.tutorials.uz/tutorial/mysql
4. VERSIYA NAZORATI (Git)
Har qanday dasturchi bilishi shart boʻlgan bilimlardan biri — bu versiya nazorati. Data Science loyiha ustida ishlar ekansiz kodingiz doimiy ravishda yangilanib turadi. Loyiha davomida ishlatilayotgan maʼlumotlar ham, ularga ishlov berish uchun foydalanilgan funksiyalar ham vaqt oʻtishi bilan takomillashishi yoki aksincha “bug”larga duch kelishi mumkin. Shunday xolatlarda loyihangizning har bir qadamini, har bir oʻzgarishini saqlab olish borish va kerak vaqtda eskiroq versiyaga qaytish, yoki loyihani tarmoqlab, yangi yoʻnalishda ketish uchun maxsus versiya nazorati tizimlari ishingizni ming karra yengillashtiradi.
Qolaversa bunday tizimlar yordamida loyihangizni doimiy ravishda bulutga saqlab borishingiz va kerak vaqtda istalgan joydan murojaat qilib davom ettirib ketishingiz yoki hamkasblar va mijozlar bilan ulashishingiz mumkin.
Bugungi kunda eng mashxur versiya nazorati tizimi Git va u bilan ishlaydigan GitHub sahifasi.
Vaqt: Uzogʻi 1 hafta
Manbalar:
- Farkhod Dadajonovning video darslari:https://youtube.com/playlist?list=PL_WK6W0Gn1I5GcICgBTsq4pW2rKV9cK-F
- Saidbek Arislonov. Git va Github: https://www.youtube.com/watch?v=JtVnOZ26XHA
5. MAʼLUMOTLARNI JAMLASH VA ISHLOV BERISH
Maʼlumotlar muhandisligi juda katta soha va albatta sohaga qadam qoʻyishdan avval bevosita maʼlumotlarni yigʻish va ularga ishlov berishni orʻganish zarur.
Maʼlumotlar matn, jadval, rasm, audio/video, arxiv qogʻozlari va boshqa koʻrinishda boʻlishi mumkin. Sizning birlamchi vazifangiz esa bu maʼlumotlarga ishlov berishdan avval ularni bir koʻrinishga keltirish, boʻshliqlarni toʻldirish, xato maʼlumotlarni oʻchirish va hokazolardan iborat boʻladi.
Buning uchun oz bo’lsada turli maʼlumot turlari bilan ishlaydigan dasturlarini bilishingiz kerak. Masalan jadvallar bilan ishlash uchun Excel, pdf yoki rasm koʻrinishidagi hujjatlarni matn koʻrinishiga keltiruvchi dasturlar va hokazo.
Maʼlumotlarga bevosita Pythonda ishlov berish uchun esa pandas kutubxonasi bilan yaqindan tanishib chiqishni tavsiya qilaman.
Shuningdek bu qadamning muhim qismlaridan biri turli manbaalarga murojaat qilish orqali loyihangiz uchun kerakli maʼlumotlar toʻplamini topish yoki jamlash.
Odatda bunday toʻplamlar datasets deb ataladi va onlaynda turli mavzulardagi datasetlar yigʻilgan sayltar talaygina.
Tavsiya: Agar siz Data Science yo’nalishiga yangi kirgan bo’lsangiz, dastavval tayyor datasetlar bilan ishlashni o’rganishdan boshlang. Buning uchun yuqorida zikr qilingan pandas kutubxonasini ko’ring.
Vaqt: pandas kutubxonasi bilan tanishish uchun tahminan 2–3 hafta.
Manbalar:
- Pandas kutubxonasi (ingliz tilida): https://pandas.pydata.org/
- Pandas kutubxonasi boʻyicha qoʻllanma (ingliz tilida): https://www.w3schools.com/python/pandas/default.asp
- Kaggle datasetlar ombori: https://www.kaggle.com/datasets
- Google Dataset qidiruv ximati: https://datasetsearch.research.google.com/
6. MAʼLUMOTLARNI VIZUALIZASIYA QILISH
Maʼlumotlarni tushunarli koʻrinishga keltirish, mijozlarga yoki hamkasblarga taqdim qilish uchun ularni quruq jadvla va sonlar koʻrinishida emas, chirioyli grafiklar koʻrinishida koʻrsatish oʻta muhim. Bu maʼlumotlarni tahlil qilishni ham bir necha barobar osonlashtiradi.
Grafiklar yaratish uchun bugungi kunda eng qulay va mukammal kutubxonalar bu Matplotlib va seaborn kutubxonalaridir.
Tavsiya: Yuqoridagi kutubxonalardan birini tanlasangiz kifoya. Matplotlib funskiyalarga boy, seaborn esa koʻzni quvontiradigan grafiklar chizishga qulay.
Vaqt: 2–3 hafta
Manbalar:
- Matplotlib qoʻllanma (ingliz tilida): https://www.w3schools.com/python/matplotlib_intro.asp
- seaborn qoʻllanma: https://www.tutorialspoint.com/seaborn/index.htm
7. MACHINE LEARNING (KOMPYUTERNI TARBIYALASH)
Mana endi bevosita qiziq joyiga keldik. Maʼlumotlaringiz tayyor boʻlsa endi bu maʼlumotlar yordamida kompyuterni tarbiyalash va turli foydali dasturlar yaratish mumkin.
Machine Learning juda katta yoʻnalish boʻlib, supervised learning (boshqaruv ostida tarbiyalash), unsupervised learning (mustaqil tarbiyalash), reinforcement learning kabi katta sohalardan iborat.
Sizning ilk qadamingiz Supervised learning asosida turli bashorat qiluvchi tizimlarni yaratishdan boshlanadi (dollar narxi, uylar narxi, ob-havo va hokazo). Keyin esa unsupervised learning yoʻnalishiga qadam qoʻyasiz va klassifikasiya, segmentasiya kabi muammolar ustida ishlashni oʻrganasiz.
Demak bu qadamda siz oʻrganishingiz kerak boʻlgan kutubxonalar va frameworklar: numpy, scikit-learn, keras, scipy, tensorflow yoki pytorch.
Vaqt: 2–4 oy
Manbalar:
- Sun’iy Intellekt |Python(Pytorch): https://mansurcompai.github.io/AI_with_PythonPytorch_Uz/
- Machine Learning by Andrew Ng: https://www.coursera.org/learn/machine-learning
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (pdf file, 31mb)
8. DEEP LEARNING
Deep Learning ham aslida yuqoridagi Machine Learning yoʻnalishing bir qismi hisoblanib, Neural Network yordamida murakkab muammolarga yechim topuvchi modellarni yaratishga qaratilgan. Jumladan, Deep Learning yordamida odam yuzini tanish, tasvirlardagi obyektlarni klassifikasiya qilish, ovozdan tanish, tabiiy tillar bilan ishlash (chatbotlar) kabi dasturlar yaratiladi.
Bu qadamda ham yuqorida zikr qilingan kreas, Tensorflow va PyTorch frameworklaridan foydalaniladi.
Vaqt: 3–4 oy
Manbalar:
- Deep Learning Specialization: https://www.coursera.org/specializations/deep-learning
- Deep Learning with PyTorch (pdf kitob, 45mb)
- Deep Learning with Python: https://www.manning.com/books/deep-learning-with-python
9. NATURAL LANGUAGE PROCESSING (NLP)
Tabiiy tillar bilan ishlash yoʻnalishi. Bu qadam mutlaqo ixtiyoriy hisoblanib, oʻz darajasini yana bir pogʻona oshirishni istaganlarga moʻljallangan.
Bu yoʻnalish nutq va matnlarni tahlil qilish orqali odam tilini tushunuvchi aqlli dasturlarni yaratishga qaratilgan. Zamonaviy telefon va kompyuterlardagi “Ok Google” yok “Siri” xizmatlari, turli saytlardagi aqlli chatbotlar aynan shunday dasturlar turkumiga kiradi.
Bu yoʻnalish aynan qaysi tilda dasturlar yaratishingizga qarab juda oson (ingliz, rus) yoki oʻta murakkab (oʻzbek) boʻlishi mumkin.
Vaqt: 6oy+
Manba:
- Natural Language Processing with PyTorch: https://www.amazon.com/_/dp/1491978236?tag=oreilly20-20
SO’NGSO’Z
Tez kunlarda biz ham t.me/sariqdev telegram kanalida Data Science yo’nalishida onlayn darslar boshlaymiz. Stay tuned!