uk
Feedback
Eldor’s AI Lab

Eldor’s AI Lab

Відкрити в Telegram

🚀 Eldor’s AI Lab – Sun’iy intellektni chuqur va amaliy o‘rganish! 🔹 AI va ML nazariyasi 🔹 Kod va amaliy mashg‘ulotlar 🔹 Dasturlash bo‘yicha maslahatlar 🔹 Ilmiy maqolalar va eng so‘nggi yangiliklar 💡 AIni o‘rganishni istaysizmi? Let's go!

Показати більше
Країна не вказанаКатегорія не вказана
386
Підписники
-124 години
+77 днів
+1030 день
Архів дописів
🎯 Eldor’s AI Labdan yangilik yaqinlashmoqda! Salom, do‘stlar! Tez orada startap bo‘yicha yangi turdagi kurs boshlanadi — bu O‘zbekistonda ilgari bo‘lmagan eksperimental formatda o‘tadi. 🎯 Kursning maqsadi — sizni startap jarayoniga yaqinlashtirish. Natijasi kafolatlanmagan😁: bu tajriba muvaffaqiyatli yakunlanishi ham, kutilmagan burilishlar bo‘lishi ham mumkin. Lekin eng muhimi — yo‘qotadigan hech narsa yo‘q, chunki muvaffaqiyat bo‘ladimi yoki yo‘qmi, har holda biz birgalikda o‘rganamiz. 💡 Eng faol ishtirokchilar uchun esa amaliyot yoki ish imkoniyatlari ham bo‘ladi. Albatta bu kursimizning qanday ketishiga bog’liq! 📘 Hozircha tafsilotlar sir bo‘lib qoladi va hammasi noyabrda (o’rtalarida) oshkor qilinadi. Bu vaqtda men sizlarga Deep Learning Mathematicsni o‘rgatishda davom etaman. Bu bilimlar sizning ushbu kursdagi rolingizga bevosita ta’sir qiladi. O‘rganishda davom eting va yangi bosqichga tayyor turing! @EldorML

📌 1.6-dars: Neural Networkdagi Linear Layers 🎯 Deep Learning Mathematics — @EldorML Har bir linear layer — bu fazoda vektorlarni buruvchi, cho‘zuvchi va siljituvchi qatlam. Bu oddiy matematik amal orqali neyron tarmoq ma’lumotlarni yangi fazoda tushunadi va murakkab holatlarni o‘rganadi. 💠 Linear Layer (Chiziqli qatlam) Formulasi: y = Wx + b Bu yerda W — burish va cho‘zish, b esa — siljitish rolini bajaradi. Har bir qatlam ma’lumotni yangi koordinatalar tizimiga o‘tkazadi. 📘 Qayerda ishlatiladi: - 🎨 Computer Vision — tasvir piksel vektorlarini yangi fazoga o‘tkazadi. - 💬 NLP — so‘z embeddinglarini ma’noli bog‘liqlik fazosiga o‘zgartiradi. - 🔊 Audio Processing — signal amplitudasini o‘zgartiradi yoki filtrlab beradi. 💠 Affine Transformation Bu — burish, cho‘zish va siljitishning kombinatsiyasi. Neyron tarmoqlarda har bir qatlam aslida affine transformation bajaradi. 💠 PyTorch bilan qisqa amaliy mashq:

import torch, matplotlib.pyplot as plt

linear = torch.nn.Linear(2, 2)
x = torch.tensor([[1., 0.], [0., 1.]])
y = linear(x)

W = linear.weight.detach().numpy()
b = linear.bias.detach().numpy()
X = x.numpy()
Y = y.detach().numpy()

plt.quiver([0,0],[0,0],X[:,0],X[:,1],color='blue')
plt.quiver([b[0],b[0]],[b[1],b[1]],Y[:,0]-b[0],Y[:,1]-b[1],color='red')
plt.title("Affine Transformation (PyTorch)")
plt.show()

🔵 Asl vektorlar — modelga beriladigan ma’lumot (rasm, audio) 🔴 O‘zgargan vektorlar — Wx + b natijasi 🎯 Xulosa: ✅ Linear layer — fazoda xarita yaratadi ✅ Affine transformation — Wx + b orqali geometrik o‘zgarish ✅ Har bir qatlam — yangi “ko‘z” bo‘lib, ma’noni yaxshiroq ko‘radi 👁️ 🤝 Video dars: 🎥 YouTube havola 🖥️ Colab kod: 📂 Colab havola 📘 Kursdagi barcha darslar: Kursga havola 🚨 Videolar tayyorgarliksiz yozilgan, nutqda, code qismlarida xatolar bo‘lishi mumkin. Uzr so‘rayman 🙏 @EldorML

📌 1.5-dars: Vector Space va Linear Combination 🎯 Deep Learning Mathematics @EldorML Vektorlar fazosi, chiziqli kombinatsiya, span, basis va rank — bu butun Deep Learning matematikasining tayanchi. 💠 Vector Space (Fazo) Vektorlar fazosi — bu barcha vektorlar joylashgan dunyo. Har bir vektor bu fazodagi bir nuqta yoki yo‘nalish. Masalan, insonning balandligi va vazni (height, weight) jufti ham vektor bo‘lishi mumkin. Har bir yangi odam bu fazoda yangi nuqtani bildiradi. 📘 Qayerda ishlatiladi: Machine Learning modellari ma’lumotlarni vektor sifatida qabul qiladi. Har bir qatlam (layer) bu fazoda yangi o‘lcham yaratadi.

import numpy as np
v1, v2 = np.array([2, 3]), np.array([4, 1])
print(v1 + v2)   # vektorlarni qo‘shish
print(2 * v1)    # skalyar ko‘paytirish
📘 Natijada yangi vektorlar hosil bo‘ladi — fazo yopiq, ya’ni har bir o‘zgarish yana shu dunyo ichida qoladi. 💠 Linear Combination (Chiziqli kombinatsiya) Vektorlarni turli sonlarga ko‘paytirib, so‘ng qo‘shish orqali yangi vektor hosil qilamiz. Masalan, ikkita yo‘nalishni aralashtirib yangi yo‘nalish yaratish mumkin. 📘 Qayerda ishlatiladi: Regression modelida chiqish y aynan shunday kombinatsiya bilan hosil bo‘ladi — har bir xususiyat model parametri bilan birlashtiriladi.

import numpy as np
a, b = 1.5, 0.5
v1, v2 = np.array([2, 1]), np.array([1, 2])
print(a*v1 + b*v2)
📘 Har bir kombinatsiya modelga yangi yo‘nalish qo‘shadi — bu ma’lumotni boyitadi. 💠 Span (Qamrov) Span — bu berilgan vektorlar yordamida yetib borish mumkin bo‘lgan barcha nuqtalar to‘plami. Agar faqat bitta vektor bo‘lsa — siz faqat shu yo‘nalishda harakatlanasiz. Ikkita mustaqil vektor bo‘lsa — siz butun tekislikni qamrab olasiz. 📘 Qayerda ishlatiladi: Neural networklarda aktivatsiya fazosi (activation space) — bu aynan vektorlar spani. Model qanchalik katta span hosil qilsa, u shunchalik ko‘p ma’noni ifodalay oladi.

import itertools, numpy as np
v1, v2 = np.array([1,0]), np.array([0,1])
points = [a*v1 + b*v2 for a,b in itertools.product(range(-2,3), repeat=2)]
print(points[:5])
📘 Masalan, (1,0) va (0,1) vektorlari yordamida siz butun tekislikdagi istalgan nuqtani hosil qilasiz — bu R² fazo. 💠 Basis (Asos) Basis — bu fazoni to‘liq ifodalash uchun zarur bo‘lgan minimal vektorlar to‘plami. Agar fazo R² bo‘lsa, unga ikki mustaqil vektor yetarli. 📘 Qayerda ishlatiladi: PCA (Principal Component Analysis) algoritmida ma’lumot yangi asosiy yo‘nalishlarga o‘tkaziladi. Ya’ni eski basisdan yangi, samaraliroq basisga o‘tamiz. 💠 Linear Independence (Mustaqillik) Vektorlar bir-birining kombinatsiyasi bilan ifodalanmasa — ular mustaqil hisoblanadi. Agar biri boshqasining ko‘paytmasi bo‘lsa, ular bog‘liq. 📘 Qayerda ishlatiladi: Feature selection jarayonida redundant (takroriy) xususiyatlarni aniqlashda. Model faqat mustaqil xususiyatlar bilan yaxshiroq o‘rganadi. 💠 Rank (Daraja) Rank — bu nechta vektor bir-biridan chiziqli mustaqil ekanini bildiradi. Bu matritsaning haqiqiy o‘lchamini aniqlaydi. 📘 Qayerda ishlatiladi: Neural network’larda rank tahlili qatlamning foydali o‘lchamini aniqlashda yordam beradi. Data compression (SVD, PCA) jarayonlarida ham rank asosida ma’lumot siqiladi.

import numpy as np
A = np.array([[1,2,3],[0,1,4],[0,0,0]])
print("Rank:", np.linalg.matrix_rank(A))
📘 Rank modeldagi haqiqiy ma’noli yo‘nalishlar sonini ko‘rsatadi — bu fazoning o‘lchami. 🎯 Xulosa: ✅ Vector Space — vektorlar joylashgan fazo ✅ Linear Combination — vektorlarni aralashtirish ✅ Span — fazoni qamrab olish ✅ Basis — minimal mustaqil yo‘nalishlar ✅ Linear Independence — takrorlanmaydigan yo‘nalishlar ✅ Rank — haqiqiy o‘lcham va foydali yo‘nalishlar soni 🤝 Video dars: 🎥 YouTube havola 🖥️ Colab kod: 📂 Colab havola 📘 Kursdagi barcha darslar: Kursga havola 🚨 Videolar tayyorgarliksiz yozilgan, nutqda xatolar bo‘lishi mumkin. Uzr so‘rayman 🙏 @EldorML

📌 1.4-dars: Matritsa — o‘zgarish vositasi 🎯 Deep Learning Mathematics @EldorML Bugungi darsda biz matritsa yordamida koordinatalarni va rasmni o‘zgartirish tushunchasini o‘rganamiz. Bu mavzu geometriya va neyron tarmoqlarning matematik asosi hisoblanadi. 💠 Scaling (cho‘zish)

import numpy as np
scale = np.array([[1.3, 0], [0, 1.3]])
print(scale @ np.array([2, 3]))
📘 Rasm yoki vektorni 30% kattalashtiradi. 💠 Rotation (aylantirish)

rotate = np.array([[0, -1], [1, 0]])
print(rotate @ np.array([2, 1]))
📘 90° ga buradi. CNNdagi filtrlar ham shu kabi matritsa o‘zgarishlarga asoslanadi. 💠 Shearing (qiyshatish)

shear = np.array([[1, 0.4], [0, 1]])
print(shear @ np.array([2, 1]))
📘 Shaklni qiya holatga keltiradi. 💠 Formulasi: ( y = Wx + b ) — har bir neyronning asosiy o‘zgarish modeli. 📘 Deep Learning qatlamlari aynan shu matritsa ko‘paytmasi orqali ma’lumotni yangi fazoga o‘tkazadi. 🎯 Xulosa: ✅ Matritsa — o‘zgarish vositasi ✅ CNN — bu matritsa o‘zgarishlarining neyronlardagi versiyasi 🤝 Video dars: 🎥 YouTube havola 🖥️ Colab kod: 📂 Colab havola 📘 Kursdagi barcha darslar: Kursga havola 🚨 Videolar tayyorgarliksiz yozilgan, nutqda xatolar bo‘lishi mumkin. Uzr so‘rayman 🙏 @EldorML

📌 1.3-dars: Masofa va O‘xshashlik — Deep Learning Mathematics 📏 Cosine similarity, proyeksiya, embedding va masofa turlari @EldorML Bugungi darsda vektorlar orasidagi masofa va o‘xshashlik tushunchalarini o‘rganamiz. Bu mavzu embeddinglar, matn o‘xshashligi, klasterlash va rekomendatsiya tizimlari uchun asosiy poydevor hisoblanadi. 💠 Euclidean va Manhattan masofalari

import numpy as np
p = np.array([2,3])
q = np.array([5,7])

print('Euclidean:', np.linalg.norm(p-q))
print('Manhattan:', np.sum(np.abs(p-q)))
📘 Euclidean — to‘g‘ri chiziqli masofa. 📘 Manhattan — bloklar bo‘yicha harakat (shahar yo‘li). 💠 Cosine similarity

A = np.array([2,0])
B = np.array([1,1])
cos_sim = np.dot(A,B) / (np.linalg.norm(A)*np.linalg.norm(B))
print('Cosine Similarity:', round(cos_sim,3))
📘 Burchak asosida o‘xshashlikni o‘lchaydi. 🧠 ML va NLPda — ma’nodagi yaqinlikni aniqlash uchun ishlatiladi. 💠 Proyeksiya (Projection)

A = np.array([2,1])
B = np.array([3,0])
proj = (np.dot(A,B)/np.dot(B,B))*B
print('Projection of A on B:', proj)
📘 Bir vektorning boshqasiga “soya”sini hisoblaydi. 🧠 Bu geometrik tushuncha Cosine similarity bilan chambarchas bog‘liq. 💠 Embedding bilan bog‘lanish > “king” − “man” + “woman” ≈ “queen” > 📘 So‘zlar, rasmlar yoki tovushlar embedding sifatida vektorlarga aylantiriladi. > Masofa va o‘xshashlik — ularning ma’nosini tahlil qilishning asosi. 🎯 Xulosa: ✅ Euclidean — to‘g‘ri masofa ✅ Manhattan — blokli masofa ✅ Cosine — yo‘nalish o‘xshashligi ✅ Projection — vektorlarning soya ta’siri ✅ Embedding — ma’noni raqamli fazoda ifodalash 🤝 Video dars: 🎥 YouTube havola 🖥️ Colab kod: 📂 Colab havola 📘 Kursdagi barcha darslar: Kursga havola 🚨 Videolar tayyorgarliksiz yozilgan, nutqda xatolar bo‘lishi mumkin. Uzr so‘rayman 🙏 @EldorML

📌 1.2-dars: Vektor amallari — Deep Learning Mathematics 🧮 Qo‘shish, ayirish, skalyar ko‘paytma, uzunlik va norma turlari (L1, L2, L∞) @EldorML Bugungi darsda vektor amallarini o‘rganamiz — bu Deep Learning matematik poydevori. Har bir neyron, har bir parameter, har bir gradient — aslida vektordir! 💠 Vektorlarni qo‘shish va ayirish

import numpy as np

v1 = np.array([2, 3])
v2 = np.array([1, 4])

print("Qo‘shish:", v1 + v2)
print("Ayirish:", v1 - v2)
📘 Har bir komponent bo‘yicha qo‘shish/ayirish. Geometrik jihatdan — yo‘nalishli ko‘chish. 💠 Skalyar ko‘paytma (dot product)

a = np.array([2, 5, 3])
b = np.array([4, 1, 2])

print(np.dot(a, b))
📘 O‘xshashlik va burchakni bildiradi. 🧠 Deep Learningda — signal va parametrlarning weighted sum hisoblanadi. 💠 Vektor uzunligi (magnitude)

v = np.array([3, 4])
print(np.linalg.norm(v))
📘 Bu vektorning kuchi yoki masshtabi. 🧠 Modelda normalizatsiya uchun ishlatiladi. 💠 Norma turlari: L1, L2, L∞

v = np.array([3, -4, 5])
print("L1:", np.linalg.norm(v, 1))
print("L2:", np.linalg.norm(v, 2))
print("L∞:", np.linalg.norm(v, np.inf))
📘 * L1 (Manhattan): |v₁| + |v₂| + |v₃| * L2 (Euclidean): √(v₁² + v₂² + v₃²) * L∞ (Chebyshev): max(|vᵢ|) 💠 Geometrik ko‘rinish

import matplotlib.pyplot as plt
v1 = np.array([2,1])
v2 = np.array([1,3])

plt.quiver(0,0,v1[0],v1[1],angles='xy',scale_units='xy',scale=1,color='r',label='v₁')
plt.quiver(0,0,v2[0],v2[1],angles='xy',scale_units='xy',scale=1,color='b',label='v₂')
plt.legend(); plt.grid(True); plt.show()
📘 Vektorlar fazoda yo‘nalish va uzunlik orqali ifodalanadi. 🎯 Xulosa: ✅ Vektor amallari — neyron tarmoqlarning matematik asosi ✅ Normlar — parametrlarni nazorat qiladi ✅ L1, L2, L∞ — modelni barqaror va kuchli qiladi 🤝 Video dars: 🎥 YouTube havola 🖥️ Colab kod: 📂 Colab havola 📘 Kursdagi barcha darslar: Kursga havola 🚨 Videolar tayyorgarliksiz yozilgan, nutqda xatolar bo‘lishi mumkin. Uzr so‘rayman 🙏 @EldorML

📌 1.1-dars: Hamma narsa — vektor 🧠 Scalars, Vectors, Matrices, Tensors va Ma’lumotlarni Raqamli Ifodalash @EldorML Bugungi darsda MLdagi eng asosiy tushunchani o‘rganamiz: har qanday ma’lumot (rasm, tovush, matn) aslida raqamli vektor ko‘rinishida ifodalanadi! 💠 Scalar — yagona qiymat

a = 5
b = 3.14
📘 Scalar — bitta son. Masalan: 5 kg yoki 3.14 rad. 💠 Vector — yo‘nalishga ega raqamlar to‘plami

import numpy as np
v = np.array([2, 3, 5])
print(v.shape)
📘 [2, 3, 5] — 3 o‘lchovli vektor. 💠 Matrix — vektorlarning jadvali

M = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(M.shape)
📘 2D tuzilma — rasm yoki jadval kabi ma’lumotlarni ifodalaydi. 💠 Tensor — ko‘p o‘lchovli ma’lumot

T = np.random.rand(2,3,4)
print(T.shape)
📘 Tensor — ko‘p o‘lchovli massiv. Masalan, rasm (balandlik × kenglik × rang). 🖼️ Rasm → vektor

from PIL import Image
import requests, numpy as np
from io import BytesIO

url = "https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Black_and_white_cat.jpg/320px-Black_and_white_cat.jpg"
img = Image.open(BytesIO(requests.get(url).content)).resize((64,64))
arr = np.array(img)
print(arr.shape)
print(arr.flatten()[:10])
📘 Har bir piksel — raqam. Rasm → tensor → vektor. 🎵 Tovush → vektor

import librosa, matplotlib.pyplot as plt, librosa.display

y, sr = librosa.load("https://www2.cs.uic.edu/~i101/SoundFiles/BabyElephantWalk60.wav")
librosa.display.waveshow(y, sr=sr)
plt.title("Tovush to‘lqini")
plt.show()
📘 Har bir amplituda qiymati — tovushning raqamli ifodasi. 📝 Matn → vektor

from sklearn.feature_extraction.text import TfidfVectorizer
docs = ["AI ajoyib", "Men AI o‘rganayapman"]
X = TfidfVectorizer().fit_transform(docs)
print(X.toarray())
📘 Har bir so‘z — raqamli o‘lchov (TF-IDF yoki embedding). 🎯 Xulosa: ✅ Rasm — 3D tensor ✅ Tovush — 1D signal ✅ Matn — 1D vektor Hammasi raqamlarga aylantiriladi va modelga shunday kiradi! 🤝 Video dars: 🎥 YouTube havola 🖥️ Colab kod: 📂 Colab havola 📘 Kursdagi barcha darslar: Kursga havola 🚨 Videolar tayyorgarliksiz yozilgan, nutqda xatolar bo‘lishi mumkin. Uzr so‘rayman 🙏 @EldorML

📢 Do‘stlar! Nihoyat navbat yetdi. Yangi kursni boshlaymiz! 💡 Bu safar sizlar bilan Deep Learning Matematikasi: Intensiv Kursni o‘rganamiz! Bu kurs — “Maths for Deep Learning” deb nomlangan ilg‘or kursning to‘liq, o‘zbekcha va tushunarli talqini bo‘ladi 🇺🇿 📘 Kursda quyidagi asosiy yo‘nalishlarni bosqichma-bosqich o‘rganamiz: - Vektorlar, matritsalar, va ularning geometrik ma’nosi - Gradient descent, backpropagation, va optimization algoritmlari - Ehtimollik va information theory asoslari - Convolution va attention mexanizmlari - Transformer va diffusion modellarining matematik intuitiv tahlili - Training stability, normalization, va regularization g‘oyalari 🧠 Kurs faqat formulalar emas, balki intuitiv tushuncha va geometrik tasavvur orqali chuqur o‘rganish uchun mo‘ljallangan. 📅 Kurs davomiyligi: Bu kurs 4 haftalik emas. Undagi mavzular murakkabroq va kengroq. Shuning uchun, taxminan 2–3 oy davom etadi. Lekin men hammasini eng oson va intuitiv shaklda tushuntirishga harakat qilaman 💪 📖 Shu o‘rinda, uzr so‘rayman: kursdagi terminlarning ayrimlari ingliz tilidan to‘liq o‘zbekchaga tarjima qilish oson emas. Shunday bo‘lsa-da, har bir atamani sizga eng yaqin va tushunarli shaklda izohlab berishga harakat qildim 🙏 👉 Kurs rejasi: Kurs rejasiga havola @EldorML

🎉 Hurmatli do‘stlar! Hammani tabriklayman! Python Intensiv Kursimiz yakunlandi! 🚀 Sizlarning faolligingiz va doimiy qo‘llab-quvvatlashingiz tufayli kursni muvaffaqiyatli tugatdik. Har biringiz bu safarning muhim qismisiz, rahmat sizlarga! 🙌 📚 Agar do‘stlaringiz ham Python o‘rganishni istasa, mana barcha materiallar bir joyda jamlangan: 📝 Maqolalar va videolar: Python Intensiv Kursi ✅ Ushbu materiallar yordamida siz do‘stlaringiz bilan Python dasturlash tilini o‘rganishingiz mumkin bo‘ladi. ✨ Yangi intensiv kursni tez orada boshlaymiz: Math for Deep Learning 💬 Takliflaringizni izohlarda yozib qoldiring. Bu men uchun juda muhim! @EldorML

📌 4.5-dars: Amaliy mashq – Dataset tozalash va grafiklar chizish 🐍 @EldorML 🎉 Tabriklaymiz! Siz Python intensiv kursining to‘rtinchi haftasini yakunlayapsiz 👏 Endi esa ma’lumotlar bilan tahlilchi kabi ishlashni o‘rganamiz! 📊 Bu safar siz seaborn kutubxonasidagi tips datasetidan foydalanib, ma’lumotlarni tozalash, transformatsiya qilish va vizualizatsiya amaliyotini bajarasiz. 🎯 Vazifa: Pandas va Matplotlib/Seaborn yordamida ma’lumotlarni tayyorlash, tozalash va 5 xil grafik chizish. 🧩 Topshiriqlar: - Datasetni yuklang va tahlil qiling (`info()`, `describe()`) - Categorical ustunlarni aniqlang va to‘g‘ri turlarga o‘tkazing - tip_percent ustunini yarating (foizli choychaqa) - 0 dan 50% gacha bo‘lmagan qiymatlarni tozalang (outlierlarni olib tashlang) - 5 ta grafik chizing: 📈 Histogram (`total_bill`) 📦 Boxplot (`tip_percent` – `day`) 🔵 Scatter (`total_bill` vs `tip`) 🟩 Barplot (`day` – o‘rtacha tip`) 🔥 Heatmap (korrelyatsiya jadvali) ✅ Natijada siz: - Pandas bilan ma’lumotlarni tozalashni - Outlier va NaN qiymatlarni boshqarishni - Seaborn yordamida chiroyli grafiklar chizishni - CSV bilan ishlashni o‘rganasiz. 🚀 ⚠️ Bonus: Lunch va Dinner o‘rtasida choychaqa foizini taqqoslang — kim ko‘proq beradi? 🍽️ 🖥️ Batafsil topshiriq: 4.5 Amaliy mashq – Dataset tozalash va grafiklar chizish 📚 Python kursi rejasi: Kursga havola @EldorML

📌 4.3–4.4-darslar: Matplotlib, Seaborn va Datetime — Ma’lumotlarni Vizualizatsiya Qilish va Sana/Vaqt bilan Ishlash 🐍 @EldorML Bugungi darsda vizualizatsiya va sana/vaqt bilan ishlashni o‘rganamiz — bu Data Science yo‘lida juda muhim bosqich! 💠 Matplotlib asoslari Pythondagi eng mashhur grafik kutubxona! 👉 Kutubxonani import qilish:

import matplotlib.pyplot as plt
import numpy as np
👉 Oddiy grafik:

y = np.array([5, 8, 12, 7, 10])
x = np.arange(len(y))
plt.plot(x, y)
plt.title('Chiziqli Grafik')
plt.show()
👉 Grafik turlari: * plt.scatter() — nuqtali grafik * plt.bar() — ustunli grafik * plt.hist() — gistogramma * plt.pie() — doira diagramma 🍩 👉 Grafikni bezash:

plt.plot(x, y, color='purple', marker='o', linestyle='--', linewidth=2)
plt.grid(True)
👉 Bir nechta grafikni bitta oynada:

fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y)
axs[1, 1].hist(y)
plt.tight_layout()
plt.show()
💠 Seaborn — Chiroyli va Statistik Grafiklar 👉 Kutubxonani import qilish:

import seaborn as sns
import pandas as pd
👉 Namunaviy DataFrame:

data = {
    'Ism': ['Ali', 'Vali', 'Aziza', 'Dilshod', 'Malika', 'Javohir'],
    'Yosh': [23, 25, 22, 27, 24, 26],
    'Daromad': [3.2, 4.5, 2.8, 5.1, 3.9, 4.2],
    'Jins': ['Erkak', 'Erkak', 'Ayol', 'Erkak', 'Ayol', 'Erkak']
}
df = pd.DataFrame(data)
👉 Asosiy grafiklar:

sns.scatterplot(data=df, x='Yosh', y='Daromad', hue='Jins', style='Jins')
sns.boxplot(data=df, x='Jins', y='Daromad')
👉 Seaborn ichki dataset:

tips = sns.load_dataset('tips')
sns.heatmap(tips.corr(numeric_only=True), annot=True, cmap='coolwarm')
👉 Uslublash:

sns.set_style('darkgrid')
plt.title('Choy miqdori va umumiy hisob o‘rtasidagi bog‘liqlik')
plt.show()
📅 Datetime — Sana/Vaqt bilan Ishlash 👉 Import va hozirgi vaqt:

import datetime
hozir = datetime.datetime.now()
print('Hozirgi vaqt:', hozir)
👉 Sana yaratish:

sana = datetime.datetime(2025, 10, 10, 14, 30)
print(sana.strftime('%d-%m-%Y %H:%M'))
👉 Vaqt farqi:

tugilgan = datetime.datetime(1995, 6, 1)
farq = hozir - tugilgan
print('Yosh (kunlarda):', farq.days)
👉 Pandas bilan datetime:

import pandas as pd
sana_seriya = pd.to_datetime(['2025-01-01','2025-02-10','2025-03-20'])
ma_lumot = pd.Series([10,15,7], index=sana_seriya)
ma_lumot.plot(title='Sana bo‘yicha ma’lumotlar')
plt.show()
🎯 Xulosa ✅ Matplotlib — asosiy vizualizatsiya vositasi ✅ Seaborn — chiroyli statistik grafiklar ✅ Datetime — vaqt bilan ishlash uchun asosiy modul 🤝 Video dars: 🎥 YouTube havola 🖥️ Colab kod: 📂 Colab havola 📘 Kursdagi barcha darslar: Kursga havola 🚨 Videolar tayyorgarliksiz yozilgan, nutqda xatolar bo‘lishi mumkin. Uzr so‘rayman 🙏 @EldorML

📌 4.2-dars: Pandas — Jadval ko‘rinishidagi ma’lumotlar bilan ishlash 🐍 @EldorML Pythonda Pandas kutubxonasi yordamida jadval (DataFrame) ko‘rinishidagi ma’lumotlar bilan ishlashni o‘rganamiz. Pandas — bu Data Science, tahlil, va ma’lumotlar tozalash jarayonlarining yuragi ❤️. 💠 Pandas asoslari 👉 Kutubxonani import qilish:

import pandas as pd
👉 Oddiy DataFrame yaratish:

df = pd.DataFrame({
    'Ism': ['Ali', 'Vali', 'Gulnoza'],
    'Yosh': [23, 25, 21],
    'Shahar': ['Toshkent', 'Samarqand', 'Buxoro']
})
print(df)
👉 Fayldan o‘qish:

df = pd.read_csv('students.csv')
💠 DataFrame bilan amaliy ishlar ✅ Dastlabki qatorlar: df.head() ✅ Ma’lumot turi: df.info() ✅ Statistika: df.describe() ✅ Ustun tanlash: df['Ism'], df[['Ism','Yosh']] ✅ Qator tanlash: df.iloc[0], df.loc[1,'Yosh'] 💠 Filtrlash, tartiblash va guruhlash (amaliy misollar) 📍 23 yoshdan katta talabalar:

talabalar = df[df['Yosh'] > 23]
print(talabalar)
📍 Yosh bo‘yicha tartiblash (kichikdan kattaga):

df.sort_values(by='Yosh', ascending=True, inplace=True)
print(df[['Ism','Yosh']])
📍 Shahar bo‘yicha o‘rtacha yoshni topish:

print(df.groupby('Shahar')['Yosh'].mean())
📍 Eng yuqori ball olgan talaba:

print(df.loc[df['Ball'].idxmax()])
📍 Faqat Toshkentdagi talabalar:

print(df[df['Shahar'] == 'Toshkent'])
💠 Yo‘q qiymatlar (NaN) bilan ishlash va ma’lumotlarni eksport qilish 📍 Yo‘q qiymatlar sonini tekshirish:

print(df.isnull().sum())
📍 Bo‘sh qiymatlarni to‘ldirish:

df['Ball'].fillna(df['Ball'].mean(), inplace=True)
📍 Bo‘sh qatorlarni o‘chirish:

df.dropna(inplace=True)
📍 Natijani yangi faylga yozish:

df.to_csv('yangi_talabalar.csv', index=False)
✅ Endi yangi_talabalar.csv faylida tozalangan va tayyor ma’lumotlar saqlanadi. 🎯 Xulosa * Pandas — Excelni Python ichida ishlatish kabi qulay 🔥 * Jadvalni filtrlash, tahlil qilish va eksport qilish uchun mukammal vosita * Data Scientist uchun eng zarur kutubxonalardan biri 💪 🚨 Videolar tayyorgarliksiz yozilgan, nutqda xatolar bo‘lishi mumkin. Uzr so‘rayman. 🤝 Video dars: 🎥 YouTube havola 🖥️ Colab kod: 📂 Colab havola 📘 Kursdagi barcha darslar: Kursga havola @EldorML

📌 4.1-dars: NumPy — Ma’lumotlar bilan ishlashning asosi 🐍 @EldorML Pythonda NumPy kutubxonasi yordamida massivlar, vektorlar va matritsalar bilan ishlashni o‘rganamiz. NumPy — bu ma’lumotlar tahlili, sun’iy intellekt, va ilmiy hisoblashlar uchun eng muhim vositalardan biridir. ⚡️ 💠 NumPy asoslari 👉 NumPy kutubxonasini import qilish:

import numpy as np
👉 Oddiy massiv yaratish:

arr = np.array([1, 2, 3, 4])
print(arr)
👉 Nol va birlik massivlar:

np.zeros((2,3))
np.ones((3,3))
np.eye(4)
👉 Ketma-ketliklar va random sonlar:

np.arange(0,10,2)
np.linspace(0,1,5)
np.random.randint(0,10,(3,3))
shape, ndim, size, dtype yordamida massiv haqida ma’lumot olish mumkin. ✅ reshape, flatten, T bilan o‘lchamni o‘zgartirish mumkin. 💠 Matematik va statistik amallar

arr = np.array([[1,2,3],[4,5,6]])
print(np.sum(arr))   # 21
print(np.mean(arr))  # 3.5
print(np.std(arr))   # Standart og‘ish
print(np.max(arr))   # Eng katta qiymat
np.where, np.clip, np.unique, np.sort — shartli va maxsus amallar uchun juda qulay. ✅ np.linalg.inv, np.dot, np.linalg.det — matritsa amallari uchun ishlatiladi. 💠 Amaliy mashq 0 dan 10 gacha random sonlar yarating. 5 dan kichiklarini 0, 5 dan kattalarini 1 qilib o‘zgartiring:

arr = np.random.randint(0,11,20)
print("Asl:", arr)
arr = np.where(arr < 5, 0, 1)
print("O‘zgartirilgan:", arr)
🎯 Xulosa - NumPy → tez va samarali hisoblash vositasi - Pandas, Scikit-learn, TensorFlow — barchasi NumPy asosida ishlaydi - Har qanday data scientist uchun zarur bilim 🔥 🚨 Videolar tayyorgarliksiz qilinmoqda, nutqda tutilishlar bo‘lishi mumkin. Uzr so‘rayman. 🤝 Video Dars: 🎥 YouTube havola 🖥️ Colab kod: 📂 Colab havola 🖥️ Python kurs rejasi: Kursga havola @EldorML

📢 Aziz do‘stlar! Afsuski, gripp bo‘lib qoldim 🤒. Shu sababli bu haftadagi kursimiz biroz kechikadi. Noqulaylik uchun uzr so‘rayman va tushunganingiz uchun rahmat 🙏.

📌 3.7-dars: Yakuniy loyiha – Mini API Client 🐍 @EldorML 🎉 Tabriklaymiz! Siz Python intensiv kursining uchinchi haftasini muvaffaqiyatli yakunlamoqdasiz. 👏 Endi o‘rgangan bilimlaringizni amaliy loyiha orqali mustahkamlash vaqti keldi. 📌 Ushbu loyiha ixtiyoriy: bajarish yoki bajarmaslik o‘zingizga bog‘liq. Lekin sinab ko‘rsangiz, uchinchi hafta mavzularini puxta o‘zlashtirasiz. 🎯 Vazifa: OOP, decorator, generator, virtual environment, test, requests va JSON bilimlaringizni qo‘llab, Mini API Client yarating. 🧩 Topshiriqlar: - ApiClient klassi tuzib, APIdan ma’lumot oling - Meros olish va polymorphism asosida turli clientlar (WeatherClient, CryptoClient) yarating - Decorator orqali API chaqiruvi vaqtini o‘lchang - Generator yordamida JSON ro‘yxatini elementma-element chiqaring - requests yordamida APIdan ma’lumot olib, data.json faylga yozing va qayta o‘qing - unittest yoki pytest yordamida kamida 3 ta test yozing - Virtual environment va requirements.txt ni ishlating ✅ Bu loyiha orqali siz: - OOP (class, object, inheritance, polymorphism) - Decorators & Generators - Virtual environment & paketlar - Test yozish (unittest, pytest) - Web requests & JSON bilan ishlash bo‘yicha bilimlaringizni bir loyihada qo‘llaysiz. 🚀 ⚠️ Batafsil: Topshiriq uchun havola 🖥️ Python kurs rejasi: Kursga havola @EldorML

📌 3.5–3.6-dars: Web so‘rovlar va JSON fayllar 🐍 @EldorML Pythonda requests kutubxonasi orqali internetdan ma’lumot olib kelish va API chaqirishni, json moduli orqali esa ma’lumotlarni faylga yozish va o‘qishni o‘rganamiz. 🌐📂 💠 Web so‘rovlar (requests) 👉 Internet va APIdan ma’lumot olish uchun ishlatiladi.

import requests

# GET so‘rovi
res = requests.get("https://jsonplaceholder.typicode.com/posts/1")
print(res.json())

# POST so‘rovi
url = "https://jsonplaceholder.typicode.com/posts"
data = {"title": "Salom", "body": "Bu test", "userId": 1}
res = requests.post(url, json=data)
print(res.json())
✅ status_code bilan javob holatini tekshirish muhim. ✅ timeout va xatoliklarni (404, connection error) boshqarishni unutmang. 💠 JSON bilan ishlash 👉 Ma’lumotlarni faylga yozish va fayldan o‘qish uchun ishlatiladi.

import json

# JSON yozish
ma_data = {"ism": "Eldor", "yosh": 25}
with open("data.json", "w", encoding="utf-8") as f:
    json.dump(ma_data, f, ensure_ascii=False, indent=4)

# JSON o‘qish
with open("data.json", "r", encoding="utf-8") as f:
    data = json.load(f)
print(data)
✅ encoding="utf-8" yozish o‘zbekcha harflar uchun muhim. ✅ Xato formatdagi JSON fayllar uchun try/except ishlatish kerak. 🎯 Xulosa: - requests → internet va API bilan ishlash - json → ma’lumotlarni faylga yozish/o‘qish - Edge cases → timeout, 404, JSONDecodeError, Unicode muammolari 🚨 Videolar tayyorgarliksiz qilinmoqda, nutqda tutilishlar bo‘lishi mumkin. Uzr so‘rayman. 🤝 Video Dars: YouTube havola 🖥️ Colab code: Colab havola 🖥️ Python kurs rejasi: Kursga havola @EldorML

📌 3.3–3.4-dars: Virtual environment va Test yozish 🐍 @EldorML Pythonda Virtual environment loyihalar orasida kutubxonalarni alohida boshqarish imkonini beradi. Test yozish (unittest, pytest) esa kodimiz to‘g‘ri ishlayotganini tekshirishga yordam beradi. 💠 Virtual environment (venv) 👉 Har bir loyiha uchun alohida muhit yaratish mumkin. Syntax:

# Virtual muhit yaratish
python -m venv myenv  

# Linux/Mac
source myenv/bin/activate  

# Windows
myenv\Scripts\activate  

# Paket o‘rnatish
pip install numpy  

# requirements.txt yaratish
pip freeze > requirements.txt  
✅ Loyihangiz boshqa loyihalardan mustaqil ishlaydi. 💠 unittest (standart test kutubxona) 👉 Funksiyalarni tekshirish uchun ishlatiladi.

import unittest  

def add(x, y):  
    return x + y  

class TestMath(unittest.TestCase):  
    def test_add(self):  
        self.assertEqual(add(2, 3), 5)  
        self.assertNotEqual(add(2, 2), 5)  

if __name__ == '__main__':  
    unittest.main()  
💠 pytest (qulayroq usul) 👉 Oddiy assert bilan test yoziladi.

def add(x, y):  
    return x + y  

def test_add():  
    assert add(2, 3) == 5  
    assert add(2, 2) != 5  
Terminalda ishga tushirish:

pytest test_math.py
🎯 Xulosa: - venv → loyihangizni izolyatsiya qiladi - pip → paketlarni boshqaradi - unittest/pytest → kodning to‘g‘riligini tekshiradi 🚨 Videolar tayyorgarliksiz qilinmoqda, nutqda tutilishlar bo‘lishi mumkin. Uzr so‘rayman. 🤝 Video Dars: YouTube havola 🖥️ Colab code: Colab havola 🖥️ Python kurs rejasi: Kursga havola @EldorML

📌 3.2-dars: Decorators va Generators 🐍 @EldorML Pythonda Decorators (dekoratorlar) va Generators (generatorlar) — kodni ixcham va samarali yozishga yordam beradigan ikki muhim tushuncha. 💠 Decorators (Dekoratorlar) 👉 Funksiyaga qo‘shimcha imkoniyat qo‘shish uchun ishlatiladi. Syntax:

@dekorator_nomi
def funksiya_nomi():
    pass

def salom_dekorator(func):
    def wrapper():
        print("Assalomu alaykum!")
        func()
        print("Xayr!")
    return wrapper

@salom_dekorator
def ism_ber():
    print("Mening ismim Eldor")

ism_ber()
✅ Funksiyani oldidan va keyin kod bajarish mumkin. 💠 Parametrli Decorator 👉 Dekorator funksiyani necha marta ishlatishni boshqarishi mumkin.

def takrorla(n):
    def dekorator(func):
        def wrapper(*args, **kwargs):
            for _ in range(n):
                func(*args, **kwargs)
        return wrapper
    return dekorator

@takrorla(3)
def salom(ism):
    print(f"Salom, {ism}!")

salom("Madina")
💠 Generators (Generatorlar) 👉 Xotirani tejab, qiymatlarni ketma-ket qaytaradi. yield kalit so‘zi ishlatiladi. Syntax:

def generator_funksiyasi():
    yield qiymat1
    yield qiymat2

def sanash():
    for i in range(1, 4):
        yield i

for son in sanash():
    print(son)
✅ Natija: 1 2 3 💠 next() bilan Generator 👉 Har chaqirilganda keyingi qiymatni qaytaradi.

def generator():
    yield "bir"
    yield "ikki"
    yield "uch"

g = generator()
print(next(g))
print(next(g))
print(next(g))
💠 Generator Expression 👉 List comprehension kabi, ammo generator hosil qiladi.

kvadratlar = (x**2 for x in range(5))
print(list(kvadratlar))   # [0, 1, 4, 9, 16]
🎯 Xulosa: - Dekoratorlar → funksiyalarga qo‘shimcha imkoniyat qo‘shadi - Generatorlar → xotirani tejaydi va qiymatlarni qadam-baqadam qaytaradi 🚨 Videolar tayyorgarliksiz qilinmoqda, shu sabab nutqda tutilishlar bo‘lishi mumkin. Buning uchun uzr so‘rayman. 🤝 Video Dars: YouTube havola 🖥️ Colab code: Colab havola 🖥️ Python kurs rejasi: Kursga havola @EldorML

📌 3.1-dars: OOP (Class, Object, Inheritance, Polymorphism) 🐍 @EldorML Pythonda Obyektga Yo‘naltirilgan Dasturlash (OOP) — katta loyihalarda kodni tartibli, qayta foydalaniladigan va oson boshqariladigan qilish uchun asosiy uslub hisoblanadi. 💠 Class & Object 👉 Klass — reja (retsept), obyekt — undan yaratilgan haqiqiy narsa.

class Car:                       # Klass yaratish
    def __init__(self, brand, model):   # Konstruktor
        self.brand = brand
        self.model = model

    def drive(self):              # Oddiy (instance) metod
        print(f"{self.brand} {self.model} haydalyapti 🚗")

car1 = Car("Toyota", "Corolla")   # Obyekt yaratish
car1.drive()
💠 Inheritance (Meros olish) 👉 Bola klass ota klassdan xususiyat va metodlarni oladi.

class Animal:
    def speak(self):
        print("Hayvon tovush chiqaryapti")

class Dog(Animal):                 # Meros olish
    def speak(self):               # Metodni qayta yozish
        print("Vov-vov!")

dog = Dog()
dog.speak()
💠 Polymorphism (Ko‘p shakllilik) 👉 Bir xil metod turli obyektlarda turlicha ishlaydi.

class Cat:
    def sound(self):
        return "Miyov"

class Dog:
    def sound(self):
        return "Vov-vov"

for animal in [Cat(), Dog()]:
    print(animal.sound())
💠 Instance, Classmethod & Staticmethod 👉 self → obyekt darajasida, cls → klass darajasida, staticmethod → yordamchi funksiya.

class Car:
    total_cars = 0

    def __init__(self, brand):
        self.brand = brand
        Car.total_cars += 1

    def info(self):                   # Instance method (self)
        return f"Brend: {self.brand}"

    @classmethod
    def get_total_cars(cls):          # Class method (cls)
        return f"Jami mashinalar: {cls.total_cars}"

    @staticmethod
    def car_types():                  # Static method
        return ["Sedan", "SUV", "Coupe"]

car1 = Car("Toyota")
print(car1.info())
print(Car.get_total_cars())
print(Car.car_types())
💠 Getter & Setter 👉 Xususiyatlarni xavfsiz olish va o‘zgartirish uchun.

class Car:
    def __init__(self, year):
        self._year = year

    @property
    def year(self):             # Getter
        return self._year

    @year.setter
    def year(self, new_year):   # Setter
        if new_year < 1886:
            print("❌ Mashina yili noto‘g‘ri!")
        else:
            self._year = new_year

car = Car(2020)
print(car.year)
car.year = 2025
💠 Encapsulation (Inkapsulyatsiya) 👉 Public, Protected, Private orqali ma’lumotni himoya qilish.

class Car:
    def __init__(self):
        self.brand = "Toyota"        # Public
        self._engine = "V6"          # Protected
        self.__secret_code = "123"   # Private

    def show_secret(self):
        print(self.__secret_code)

car = Car()
print(car.brand)       # Public
print(car._engine)     # Protected (tavsiya qilinmaydi)
car.show_secret()      # Private ga klass ichidan kirish
🎯 Xulosa: - Klass va obyekt — asosiy qurilish g‘ishtlari - Meros olish — kodni qayta ishlatish - Polimorfizm — metodlarning turlicha ishlashi - Instance, Classmethod, Staticmethod — farqlarini tushunish - Getter/Setter — xususiyatlarni boshqarish - Inkapsulyatsiya — ma’lumotni himoya qilish 🚨 Videolar tayyorgarliksiz qilinmoqda, shu sabab nutqda tutilishlar bo‘lishi mumkin. Buning uchun uzr so‘rayman. 🤝 Video Dars: YouTube havola 🖥️ Colab code: Colab havola 🖥️ Python kurs rejasi: Kursga havola @EldorML

📌 2.7-dars: Yakuniy loyiha – Oddiy Calculator App va CSV fayl o‘qish 🐍 @EldorML 🎉 Tabriklaymiz! Siz Python intensiv kursining ikkinchi haftasini muvaffaqiyatli yakunlamoqdasiz. 👏 Endi o‘rgangan bilimlaringizni amaliy loyiha orqali mustahkamlash vaqti keldi. 📌 Ushbu loyiha ixtiyoriy: bajarish yoki bajarmaslik o‘zingizga bog‘liq. Lekin sinab ko‘rsangiz, ikkinchi hafta mavzularini puxta o‘zlashtirasiz. 🎯 Vazifa: Oddiy Calculator App tuzing va CSV fayldan ma’lumot o‘qishni mashq qiling. Talablar: - Funksiya yozib, ikki son va amal turini hisoblang (+, −, \*, /) - Xatoliklarni try-except bilan boshqaring (0 ga bo‘lish holati va boshqalar) - Foydalanuvchi input orqali ma’lumot kiritsin - csv modulidan foydalanib, fayldagi ma’lumotlarni ekranga chiqaring - Qo‘shimcha: list comprehension orqali CSV ma’lumotlarini qayta ishlash ✅ Bu loyiha orqali siz: - Funksiya va parametrlar - Exception handling - List comprehension - Fayllar bilan ishlash (CSV) bo‘yicha o‘rganganlaringizni bir loyihada qo‘llaysiz. ⚠️ Batafsil: Topshiriq uchun havola 🖥️ Python kurs rejasi: Kursga havola @EldorML