Data Science | Machine Learning | AI |Data_Dos
1.09K subscribers
30 photos
2 files
13 links
πŸ“Š Data Science va Machine Learning - oddiy tilda
🧠 Amaliy misollar va real loyihalar
🐍 Python, SQL - ishlatadigan kodlar
πŸ† Kaggle tajribalari
πŸ’Ό Xorijda ta'lim va karyera

AI bilan muloqot: @eng_navigator_bot
Download Telegram
Data Science ga qanday kirish mumkin? πŸ—Ί

Ko'pchilik menga shuni so'raydi: "Doston aka, qayerdan boshlashim kerak?"

Mana men tavsiya qiladigan 5 bosqich:

1️⃣ Python o'rgan - boshqa hamma narsa keyin
2️⃣ Pandas + NumPy - ma'lumot bilan ishlashni o'rgan
3️⃣ Statistika asoslari - chuqur emas, amaliy darajada
4️⃣ Machine Learning - Scikit-learn + Andrew Ng
5️⃣ Kaggle - real amaliyot, real portfolio

Eng ko'p qilinadigan xato: "hamma narsani o'rganib bo'lgandan keyin boshlayman" deb kutish.

Yo'q. Har bir bosqichda bitta loyiha yarating. Loyiha yo'q - bilim ham yo'q.

Men ham xuddi shunday boshlaganman - Finance foni bilan, dasturlash tajribasiz. Agar men qila olsam, siz ham qilasiz.
πŸ‘56πŸ‘Ύ2
Excel ustasi vs SQL biluvchi. Kim yutadi? πŸ₯Š

Ofisda shu sahnani ko'rgansiz.

Biri Excel da 3 soat VLOOKUP bilan kurashadi. 😀
Boshqasi SQL da 3 daqiqada shu ishni bitiradi.

Ikkalasi ham bir xil maosh oladi. Hozircha.

SELECT * FROM sales WHERE date > '2025-01-01';

↑ Bu - Excel da 47 ta klik.

Excel yomon emas. Lekin chegara bor.

βœ… 1,000 qator - Excel ishlaydi
❌ 1,000,000 qator - Excel "javob bermayyapti" deydi πŸ˜…
βœ… SQL - 100 million qatorda ham bir xil tezlikda

DS, analyst yoki PM bo'lmoqchimisiz?

SQL - birinchi o'rganadigan narsa.
Python ikkinchi.
Excel - kerak bo'lganda.

Excel - velosiped.
SQL - avtomobil.

Ikkalasini bilsangiz? Samolyot. ✈️
πŸ‘42πŸ”₯15πŸ‘Ύ1
ML_Algoritmlari_Uzbek.html
13.3 KB
ML algoritmlarini yodlash vs tushunish. Kim yutadi? πŸ₯Š

Ko'pchilik shu xatoni qiladi.

Biri 14 ta algoritm nomini yodlab oladi. 😀
Ammo qaysi birini qachon ishlatishni bilmaydi.

Boshqasi faqat 3 ta savolga javob beradi:
- Natija son (regressiya) yoki toifa (klassifikatsiya)mi?
- Datamda label bormi yoki yo'qmi?
- Nechta qator ma'lumotim bor?

↑ Shu 3 savol - 90% vaziyatda to'g'ri algoritmni tanlaydi.

Yodlash yomon emas. Lekin tushunish - kalit.

βœ… Chiziqli Regressiya - narx bashorati uchun oddiy va tez
❌ XGBoost'ni har narsaga ishlatish - ortiqcha
βœ… Random Forest - ko'pchilik holatda ishonchli boshlang'ich nuqta

Data Scientist, Analitik yoki ML muhandisi bo'lmoqchimisiz?
Regressiya va Klassifikatsiya - birinchi o'rganadigan narsa.
Klasterlash (K-Means, DBSCAN) - ikkinchi.
Boosting algoritmlari (XGBoost, LightGBM, CatBoost) - production uchun.

Oddiy model - velosiped. 🚲
Ensemble model - avtomobil. πŸš—
To'g'ri algoritmni tanlashni bilsangiz? Samolyot. ✈️
πŸ‘40🍾15🀣14πŸ‘Ύ1
#Article1

Yaqinda Data Science bo'yicha 'Salary Prediction' loyihasi qildim. Ommaviy dataset asosida Data Scientist va Analytics mutaxassislarining maoshini bashorat qiluvchi model yaratdim.

Rostini aytsam, boshida Random Forest bemalol Linear Regressionni yutadi deb o'ylagandim.

Lekin... unday bo'lmadi. πŸ˜…

Avval datasetni ancha "qiynadim":

βœ… 258 ta salary yozuvi
βœ… 115 xil job title (ba'zilari bir xil lavozim, faqat nomi boshqacha πŸ˜„)
βœ… Hammasini 8 ta asosiy guruhga ajratdim
βœ… Missing value'larni tozaladim
βœ… Outlier'larni tekshirdim

Shundan keyin ikkita modelni solishtirdim:

πŸ“ˆ Linear Regression
RΒ² = 0.27
MAE β‰ˆ $41.6k

🌳 Random Forest
RΒ² = 0.24
MAE β‰ˆ $43.3k

Natija meni ham biroz hayron qoldirdi.

Ko'pchilik "murakkab model bo'lsa, demak yaxshiroq" deb o'ylaydi. Lekin Machine Learning'da bu har doim ham to'g'ri emas.

Dataset kichik bo'lsa, ba'zida oddiy model yaxshiroq ishlaydi. Random Forest esa bu safar qo'shimcha murakkablik qo'shdi, lekin natijani yaxshilay olmadi.

Bu loyiha menga yana bir narsani eslatdi:
🧹 Data cleaning ko'pincha modelning o'zidan ham muhimroq.

Real hayotda vaqtning katta qismi model tanlashga emas, balki:
- ma'lumotlarni tozalashga,
- noto'g'ri yozilgan qiymatlarni tuzatishga,
- missing value'larni to'ldirishga,
- feature engineering qilishga ketadi.

Kaggle'dagi mashhur gap bor:
"80% of Machine Learning is cleaning data."

Bu loyiha ham aynan shuni yana bir bor isbotladi. πŸ™‚
πŸ”— GitHub repository va to'liq maqolani izohlarda qoldiraman.

https://dev.to/dostonbek_ur/what-i-learned-predicting-data-scientist-salaries-from-a-messy-public-dataset-18p0

https://github.com/DostonUr/DataScience_Salary_Dos

https://medium.com/@urinovdostonbek/what-i-learned-predicting-data-scientist-salaries-from-a-messy-public-dataset-16e6a296ba3d

https://www.kaggle.com/dostonur/datasets?page=2
πŸ‘70πŸ‘Ύ1
Data Science | Machine Learning | AI |Data_Dos pinned Β«#Article1 Yaqinda Data Science bo'yicha 'Salary Prediction' loyihasi qildim. Ommaviy dataset asosida Data Scientist va Analytics mutaxassislarining maoshini bashorat qiluvchi model yaratdim. Rostini aytsam, boshida Random Forest bemalol Linear Regressionni…»
#Article2

Men GrounHog-prediction-Project-DS repo sini tekshirdim va haqiqiy 1886-2016 ma'lumotlar to'plamini oldim.

Natija:
Punxsutawney Philning bashoratlari mart oyining haqiqiy haroratiga nisbatan 52,2% aniqlikka erishdi - statistik jihatdan sodda boshlang'ich ko'rsatkichdan (49,6%) farqlanmaydi va ahamiyatli emas (p=0,72), va bu nol natija uchta mintaqa va ikki davrda doimiy ravishda saqlanib qoladi.

Bu boshqa umumiy bashorat postiga qaraganda kuchliroq va esda qolarliroq asar, chunki "hech qanday ta'sir yo'q va men bu tasodif emasligini mana shunday isbotladim" tuzilmasi haqiqiy statistik aniqlikni namoyish etadi.

https://medium.com/@urinovdostonbek/is-punxsutawney-phil-actually-any-good-at-predicting-spring-i-checked-115-years-of-data-977e29cf4127

https://github.com/DostonUr/Groundhog-Day-prediction

https://dev.to/dostonbek_ur/is-punxsutawney-phil-actually-any-good-at-predicting-spring-i-checked-115-years-of-data-13np

https://doi.org/10.5281/zenodo.21706033
πŸ‘61πŸ‘Ύ1
#Article3

Yaqinda ikkita kichik Data Science loyiha qilganimda bir narsani payqadim.

Har safar modelni train qilaman, RΒ² ni tekshiraman, keyin esa ishonch hosil qilish uchun yana cross-validation ishlataman. πŸ˜…

Sababi oddiy: kichik datasetlarda bitta train/test split ba'zida kuchsizroq modelni ham "g'olib" qilib ko'rsatishi mumkin.

Shu ishni qayta-qayta qo'lda qilgandan keyin uni avtomatlashtirishga qaror qildim va ModelCheck package'ini yozdim.

Endi u modellarni solishtiradi, cross-validation qiladi va natijalar orasida katta farq bo'lsa, ogohlantiradi.


πŸ”— GitHub: https://github.com/DostonUr/modelcheck

https://dev.to/dostonbek_ur/i-kept-doing-the-same-sanity-check-on-every-small-dataset-so-i-turned-it-into-a-package-io1

https://medium.com/@urinovdostonbek/i-kept-doing-the-same-sanity-check-on-every-small-dataset-so-i-turned-it-into-a-package-d0eda1767ede

https://www.linkedin.com/feed/update/urn:li:activity:7489677852880166912

https://www.reddit.com/u/Present-Plant5505/s/CMLihR6dI8
πŸ‘40πŸ”₯26
Data Science | Machine Learning | AI |Data_Dos
Photo
#article 4

Magistrlikdagi Bank Customer Churn Prediction loyihamni yaqinda yana bir marta ko'rib chiqdim.

O'shanda natijadan xursand bo'lgandim:
🌳 Random Forest
86.5% accuracy

Lekin keyin bitta savol paydo bo'ldi:
"Bu 86.5% aslida nimani anglatyapti?" πŸ€”

Ma'lum bo'ldiki, dataset nomutanosib ekan:
taxminan 80% mijoz bankda qolgan, atigi 20% ketgan.

Shuning uchun accuracy bu yerda unchalik foydali metrika emas. Model umumiy natijada yaxshi ko'ringan bo'lsa ham, bankni tark etayotgan mijozlarning yarmidan ham kamini topayotgan ekan.

Shunda modelni qayta train qilib, class_weight='balanced' va XGBoost bilan yana sinab ko'rdim.

Natija qiziq bo'ldi:

❌ Accuracy biroz pasaydi.
βœ… Lekin churn qilayotgan mijozlarni aniqlash ancha yaxshilandi.

Bu menga yana bir narsani eslatdi:

Machine Learning'da eng katta raqam har doim ham eng yaxshi model degani emas.

Ba'zida 86% accuracy'dan ko'ra, ko'proq muhim mijozlarni ushlab qoladigan model biznes uchun ancha qimmatli bo'ladi.

Shu sabab eski loyihamni yangilab, xatolarimni ham ochiq qoldirdim. Menimcha, aynan shunday tahlillar haqiqiy Machine Learning jarayonini ko'rsatadi. πŸ™‚

https://github.com/DostonUr/bank_churn

https://dev.to/dostonbek_ur/revisiting-my-capstone-project-the-metric-i-trusted-was-hiding-a-model-that-barely-worked-4e9k

https://medium.com/@urinovdostonbek/revisiting-my-capstone-project-the-metric-i-trusted-was-hiding-a-model-that-barely-worked-f409a8227102

https://www.linkedin.com/feed/update/urn:li:activity:7489963053405425664
πŸ‘101πŸ”₯29πŸ•Š15πŸ†1
#article5

Yaqinda eski Movie Recommendation System loyihamni qayta ko'rib chiqdim.

O'shanda model ishlardi: film nomini beraman, cosine similarity orqali 5 ta o'xshash film chiqaradi.
Men esa bir-ikkita natijani ko'rib, "ha, yomon emas" deb qo'yganman. πŸ˜…

Lekin bitta muammo bor edi:

Tavsiyalar haqiqatan ham yaxshimi?
Men buni umuman o'lchamagan ekanman.

Shuning uchun loyihani qayta tekshirdim va 30 ta film uchun natijalarni baholadim.

Genre overlap bo'yicha:
🎲 Random baseline - 30.0%
πŸ”₯ Popularity baseline - 26.1%
🎬 Content-based recommender - 76.1%

Demak, model shunchaki tasodifiy yoki mashhur filmlarni tavsiya qilmayapti. Haqiqatan ham ancha yaxshi ishlayapti.

Lekin eng qiziq natija boshqa joyda chiqdi.

TF-IDF "yaxshiroq" deb o'ylagandim.

Lekin:
CountVectorizer - 76.1%
TF-IDF - 49.5% πŸ˜…

Ya'ni bu safar "fancy" NLP method natijani yaxshilash o'rniga yomonlashtirdi.

Yana bir bor bir narsani ko'rdim:

Model ishlayotgani boshqa, model yaxshi ishlayotganini isbotlash esa boshqa.
πŸ‘33
#article 6

Eski Uzbek words dataset loyihamni qayta audit qildim.

O'shanda uni β€œnouns only” deb yozgan ekanman. Tekshirsam, 31,993 ta entry ichida 3,871 ta (-moq) fe'l bor ekan. πŸ˜…

Shu dataset asosida kichik Uzbek spell-checker ham qurdim va 200 ta synthetic typo bilan test qildim:

🎯 Top-1 accuracy - 87.5%
🎯 Top-5 accuracy - 99.0%
⚑️ Average lookup - 2.6 ms

Asosiy lesson oddiy:

Datasetdagi claim'ni tekshirmasdan, uning ustiga model qurish yaxshi fikr emas.

Bu safar avval audit qildim, keyin tool qurdim va natijasini o'lchadim.

πŸ‡ΊπŸ‡Ώ Uzbek NLP uchun hali qilinadigan ishlar juda ko'p.

https://github.com/DostonUr/Uzwords_2

https://medium.com/@urinovdostonbek/i-built-a-32-000-word-uzbek-dictionary-and-never-checked-if-it-was-actually-what-i-claimed-it-was-edb303ba8573

https://dev.to/dostonbek_ur/i-built-a-32000-word-uzbek-dictionary-and-never-checked-if-it-was-actually-what-i-claimed-it-was-g88

https://www.linkedin.com/feed/update/urn:li:activity:7500477986966663168

https://lnkd.in/dd4SvQer
πŸ‘18
#article 7

Eski Customer Churn Prediction loyihamni qayta ko'rib chiqdim va bitta xatoni topdim.

Datasetdagi 20 ta feature'dan 13 tasini faqat target bilan individual correlation'i past bo'lgani uchun olib tashlagan ekanman. πŸ˜…

Natijada:
❌ 33% missing rows β†’ feature'larni qisqartirdim β†’ qolgan incomplete rows'larni ham tashladim
❌ 20 ta feature β†’ faqat 6 ta qoldi

Bu safar esa barcha 18 ta usable featureni saqlab, missing value'larni median imputation bilan to'ldirdim va Random Forest'ni qayta train qildim.

Natija:
πŸ“‰ Oldingi CV F1 β€” 0.774
πŸ“ˆ Yangi CV F1 β€” 0.888

Qizig'i, oldin tashlab yuborgan feature'larimdan SatisfactionScore, WarehouseToHome, NumberOfAddress va OrderAmountHikeFromlastYear modelning eng muhim feature'lari qatoriga kirdi.

Asosiy lesson:

Feature'ning target bilan alohida correlation'i past bo'lishi, u model uchun foydasiz degani emas.

Ba'zan modelga ma'lumotni o'zi kombinatsiya qilish imkonini berish kerak. πŸ€“
πŸ‘36