Mundarija (22)
- 1. Kirish va motivatsiya
- 2. Nazariya — chuqur tushuntirish
- 2.1. Jupyter Notebook (interaktiv)
- 2.2. Google Colab (bulut, bepul)
- 2.3. Virtual muhit (venv/conda)
- 2.4. Paketlar (pip) va kutubxonalar
- 2.5. Reproduksiya (takrorlanadigan ish)
- 2.6. Muhit amaliyoti
- 2.7. Muhit tuzoqlari
- 2.8. Muhit — samarali va takrorlanadigan ishning poydevori
- 3. Tez ma'lumotnoma
- 4. Batafsil misollar
- Misol 1 — Reproduksiya (urug' ta'siri)
- Misol 2 — Virtual muhit (izolyatsiya modeli)
- Misol 3 — Jupyter vs .py (ish uslubi)
- Misol 4 — Asosiy kutubxonalar (tekshirish)
- 5. To'g'ri va noto'g'ri tushunishlar
- 6. Keng tarqalgan xatolar va yechimlari
- 7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 8. Eng yaxshi amaliyotlar
- 9. Amaliy topshiriq
- Xulosa
1.2-dars: Muhit va vositalar
1-QISM — KIRISH: DATA SCIENCE · 2-dars
1. Kirish va motivatsiya
Har hunarmandning ustaxonasi bor — Data Scientist uchun bu ish muhiti. To'g'ri sozlangan muhit ishni tez, tartibli va takrorlanadigan qiladi; noto'g'ri muhit esa "menda ishlaydi, sizda ishlamaydi" degan koshmarga olib keladi. Data Science'da asosiy vosita — Jupyter Notebook (kod, natija, izoh, grafik bir joyda — interaktiv), Google Colab (bepul, bulutda, GPU bilan — o'rnatishsiz), va virtual muhit (har loyiha o'z kutubxonalari bilan — chalkashliksiz). Bu dars Data Science ish muhitini tushuntiradi: qaysi vosita, nega, qanday sozlash. To'g'ri muhit — samarali ishning poydevori. Kod yozishdan oldin, qayerda yozishni bilish kerak.
Data Science muhiti — ma'lumot bilan ishlash uchun vositalar to'plami: Jupyter Notebook (interaktiv — kod, natija, grafik, izoh bir hujjatda, hujayralar), Google Colab (bulut Jupyter — bepul, o'rnatishsiz, GPU), virtual muhit (venv/conda — har loyiha o'z kutubxonalari, izolyatsiya), paket menejeri (pip — kutubxona o'rnatish), asosiy kutubxonalar (numpy, pandas, matplotlib, sklearn). Foydalanish: ma'lumot tahlili, model qurish, reproduksiya. Bu 1.1 (Data Science) ni amaliyotga tayyorlaydi. Bu 1.1, 3-qism (NumPy) bilan bog'liq. Muhit — Jupyter, Colab, venv. Interaktiv. Izolyatsiya.
Real vaziyat. Talaba Data Science'ni o'rgana boshladi. Avval oddiy .py fayllar bilan ishladi — har o'zgarishda butun skriptni qayta ishga tushirdi (sekin, grafik alohida oynada). Keyin Jupyter Notebook'ga o'tdi: hujayra-hujayra kod yozdi, natija darhol pastda (grafik ham), izohlar bilan tushuntirdi — interaktiv eksperiment. Kuchli noutbuk yo'q edi — Google Colab ishlatdi (bepul GPU, brauzerda). Har loyiha uchun virtual muhit yaratdi (kutubxonalar chalkashmasin). Ish tez, tartibli bo'ldi. Muhit — interaktiv, izolyatsiyalangan, bepul.
Bu darsda Data Science muhitini o'rganamiz.
Bu darsda:
- Jupyter Notebook (interaktiv)
- Google Colab (bulut, bepul)
- Virtual muhit (venv/conda)
- Paketlar (pip) va kutubxonalar
- Reproduksiya (takrorlanadigan ish)
- Muhit amaliyoti
- Muhit tuzoqlari
- Amaliy: muhit modeli
ℹ Bu kirish dars — misollar muhit tushunchalarini (deterministik) modellashtiradi.
2. Nazariya — chuqur tushuntirish
2.1. Jupyter Notebook (interaktiv)
Kod, natija, izoh bir joyda:
# Jupyter hujayrasi (cell) — alohida ishga tushiriladi
import pandas as pd
df = pd.DataFrame({"son": [1, 2, 3]})
df # natija DARHOL pastda ko'rinadi (print kerak emas)Jupyter Notebook tuzilishi:
[hujayra 1] kod → natija pastda
[hujayra 2] matn (Markdown — izoh, sarlavha)
[hujayra 3] kod → grafik pastda
→ interaktiv: hujayrani alohida ishga tushir Jupyter Notebook — Data Science'ning asosiy interaktiv vositasi: kod, natija, grafik va izoh bir hujjatda (.ipynb), hujayralar (cell) ga bo'lingan — har hujayra alohida ishga tushiriladi. Sabab: ma'lumot tahlili eksperimental (sinab ko'rish, natijani ko'rish, o'zgartirish); Jupyter buni oson qiladi (hujayra ishga tush → natija darhol pastda, keyin keyingisi — sikl yo'q). Grafik ham inline (pastda), Markdown hujayra (izoh, sarlavha — hikoya). .py fayldan farqi: .py butun ishga tushadi, Jupyter hujayra-hujayra (interaktiv). Data Science'da standart. Jupyter — kod+natija+izoh bir joyda. Hujayra. Interaktiv.
2.2. Google Colab (bulut, bepul)
O'rnatishsiz, brauzerda:
Google Colab (colab.research.google.com):
bulut Jupyter — brauzerda ishlaydi (o'rnatish YO'Q)
bepul GPU/TPU (chuqur o'rganish uchun)
Google Drive bilan (fayl saqlash)
ulashish (havola — hamkorlik)
→ kuchli noutbuk kerak emas (bulut hisoblaydi)Google Colab — Google'ning bepul bulut Jupyter'i: brauzerda ishlaydi (o'rnatish yo'q — kutubxonalar oldindan bor), bepul GPU/TPU (chuqur o'rganish — 22-qism), Google Drive bilan (fayl), ulashish (havola — hamkorlik). Sabab: Data Science ba'zan kuchli hisoblash talab qiladi (GPU — neyron tarmoq); hamma noutbuk kuchli emas; Colab bulutda hisoblaydi (foydalanuvchi brauzer — arzon/bepul). Boshlovchi uchun ideal (o'rnatish muammosi yo'q — darhol boshlash). Cheklov: internet kerak, sessiya vaqti cheklangan (bepul), fayl saqlash (Drive). Colab — bulut Jupyter (bepul, GPU). O'rnatishsiz. Boshlash oson.
2.3. Virtual muhit (venv/conda)
Har loyiha o'z kutubxonalari bilan:
# venv — virtual muhit yaratish (loyiha izolyatsiyasi)
python -m venv muhit # muhit yaratish
# faollashtirish (Windows): muhit\Scripts\activate
# faollashtirish (Linux/Mac): source muhit/bin/activate
pip install pandas numpy # faqat shu muhitga o'rnatiladi
# har loyiha alohida muhit → kutubxonalar chalkashmaydi Virtual muhit (venv/conda) — har loyiha uchun alohida, izolyatsiyalangan kutubxona to'plami: python -m venv (muhit yaratish), faollashtirish, pip install (faqat shu muhitga). Sabab: turli loyiha turli kutubxona versiyasini talab qiladi (loyiha A — pandas 1.5, loyiha B — pandas 2.0); global o'rnatish chalkashish (versiyalar to'qnashadi — "dependency hell"); virtual muhit izolyatsiya (har loyiha o'z muhiti — mustaqil). venv (Python standart), conda (Anaconda — DS uchun mashhur, ilmiy paketlar oson). requirements.txt (kutubxonalar ro'yxati — reproduksiya). Virtual muhit — izolyatsiya (har loyiha alohida). Chalkashlik yo'q. venv/conda.
2.4. Paketlar (pip) va kutubxonalar
Data Science asosiy kutubxonalari:
# pip — kutubxona o'rnatish (Python paket menejeri)
# pip install numpy pandas matplotlib scikit-learn
# ASOSIY KUTUBXONALAR:
import numpy as np # sonli hisoblash (massiv)
import pandas as pd # ma'lumot (DataFrame)
import matplotlib.pyplot as plt # vizualizatsiya (grafik)
from sklearn import ... # machine learning Paketlar va kutubxonalar — pip (Python paket menejeri — pip install) bilan o'rnatiladigan Data Science asosiy kutubxonalari: numpy (sonli hisoblash — massiv, 3-qism), pandas (ma'lumot — DataFrame, 4-qism), matplotlib/seaborn (vizualizatsiya — 8-qism), scikit-learn (machine learning — 14-qism), scipy (ilmiy), torch/tensorflow (chuqur o'rganish — 22-qism). Sabab: Data Science kutubxonalar ustiga qurilgan (noldan yozmaydi — tayyor, sinovdan o'tgan); pip install bilan o'rnatiladi (yoki Colab'da tayyor). Standart nomlar (np, pd, plt — konvensiya, hamma biladi). Bu kutubxonalar Data Science yadrosi (har kunlik). Paketlar — pip install. numpy/pandas/sklearn. Yadro. Konvensiya.
2.5. Reproduksiya (takrorlanadigan ish)
Boshqa ham ishga tushira olsin:
# REPRODUKSIYA — ish takrorlanadigan bo'lsin:
import numpy as np
np.random.seed(42) # urug' — tasodif takrorlanadi
# requirements.txt — kutubxona versiyalari
# pandas==2.0.0
# numpy==1.24.0
# → boshqa kishi bir xil natija oladi (versiya + urug') Reproduksiya (takrorlanadigan ish) — boshqa kishi (yoki kelajakdagi siz) bir xil natija olishi: urug' (np.random.seed(42) — tasodif takrorlanadi, model bir xil), requirements.txt (kutubxona versiyalari — bir xil muhit), Git (kod versiyasi), ma'lumot versiyasi. Sabab: Data Science tasodifiy elementlar bor (train/test split, model init — 14-qism); versiya farqi turli natija (pandas 1 vs 2); reproduksiya bo'lmasa — natija takrorlab bo'lmaydi (ilm/biznes uchun yomon — ishonchsiz). Yaxshi Data Scientist reproduksiya ta'minlaydi (urug', versiya, kod). Bu ilmiy usul (takrorlanish — ishonch). Reproduksiya — urug', versiya, kod. Bir xil natija. Ishonch.
2.6. Muhit amaliyoti
Data Science muhit amaliyotlari: Jupyter/Colab (interaktiv — tahlil, eksperiment); Colab boshlovchiga (o'rnatishsiz — tez boshlash); virtual muhit (har loyiha — izolyatsiya, venv/conda); requirements.txt (kutubxonalar — reproduksiya); urug' (seed — tasodif takrorlanadi); standart nomlar (np, pd, plt — konvensiya); Markdown izoh (Jupyter — hikoya, tushuntirish); Git (kod versiyasi, ma'lumot alohida). Tuzoqlar: global o'rnatish (chalkashish — virtual muhit), reproduksiyasiz (urug'/versiya yo'q — takrorlab bo'lmaydi), hamma kodni bir hujayrada (Jupyter — hujayralarga bo'l), katta ma'lumot Git'ga (alohida saqlash). Amaliyot — Jupyter, virtual muhit, reproduksiya. Interaktiv, izolyatsiyalangan.
2.7. Muhit tuzoqlari
Data Science muhit asosiy tuzoqlari: global o'rnatish (barcha kutubxona global — versiyalar to'qnashadi, "menda ishlaydi" muammosi; virtual muhit); reproduksiyasiz (urug'/versiya yo'q — natija takrorlab bo'lmaydi, ishonchsiz); hujayra tartibi (Jupyter — hujayralar tartibsiz ishga tushirilsa, holat chalkashadi; yuqoridan pastga); katta ma'lumot Git'ga (ma'lumot fayllari Git'ga — repo shishadi; ma'lumot alohida, .gitignore); Colab sessiyasi (bepul — vaqt cheklangan, uzilsa ish yo'qoladi; saqlash); kutubxona versiyasi (kod eski versiyaga — yangida ishlamaydi; requirements.txt). Sabab: muhit poydevor (noto'g'ri — ish chalkashadi, takrorlanmaydi). Yechim: virtual muhit, reproduksiya, tartibli. Tuzoqlar — global, reproduksiyasiz, tartibsiz. Izolyatsiya, reproduksiya.
2.8. Muhit — samarali va takrorlanadigan ishning poydevori
Data Science muhit asosiy g'oyasi — samarali va takrorlanadigan ishning poydevori: to'g'ri muhit ishni tez (interaktiv — Jupyter/Colab), tartibli (izolyatsiya — virtual muhit) va takrorlanadigan (reproduksiya — urug'/versiya) qiladi. Kod yozishdan oldin qayerda yozish muhim (muhit — ustaxona). Jupyter (interaktiv eksperiment), Colab (bepul, GPU), virtual muhit (izolyatsiya), reproduksiya (ishonch) — bularning barchasi Data Science ishini professional qiladi (skript emas — tartibli, takrorlanadigan). Bu 1.1 (Data Science) ni amaliyotga tayyorlaydi va butun kurs (3-qismdan) shu muhitda ishlaydi. Yomon muhit — chalkashish, takrorlanmas; yaxshi muhit — samarali, ishonchli. Muhit — poydevor. Tez, tartibli, takrorlanadigan. Professional.
3. Tez ma'lumotnoma
JUPYTER NOTEBOOK (interaktiv):
.ipynb · hujayralar (cell) · kod+natija+grafik+izoh bir joyda
df # natija darhol (print kerak emas)
GOOGLE COLAB (bepul bulut):
colab.research.google.com · o'rnatishsiz · GPU bepul · Drive
VIRTUAL MUHIT (izolyatsiya):
python -m venv muhit
pip install pandas numpy # faqat shu muhitga
# har loyiha alohida → chalkashlik yo'q
ASOSIY KUTUBXONALAR:
numpy (np) · pandas (pd) · matplotlib (plt) · sklearn
REPRODUKSIYA:
np.random.seed(42) # urug' (tasodif takrorlanadi)
requirements.txt # kutubxona versiyalari
QOIDA: Jupyter/Colab · virtual muhit · urug' + versiya (reproduksiya)Muhit xulosasi
Muhit — samarali/takrorlanadigan ishning poydevori
Jupyter — interaktiv (kod+natija+izoh, hujayralar)
Colab — bepul bulut Jupyter (o'rnatishsiz, GPU)
Virtual muhit — izolyatsiya (har loyiha alohida, venv/conda)
Reproduksiya — urug' + versiya (boshqa ham bir xil natija)4. Batafsil misollar
Bu kirish dars — misollar muhit tushunchalarini (deterministik) modellashtiradi.
Misol 1 — Reproduksiya (urug' ta'siri)
"""Reproduksiya: urug' bir xil natija beradi (real numpy)."""
import numpy as np
def main() -> None:
print("=== 1. Urug'siz (har safar boshqa) ===")
print(" (urug' bo'lmasa natija takrorlanmaydi)")
print("\n=== 2. Urug' bilan (42) — birinchi ===")
np.random.seed(42)
a = np.random.randint(0, 100, 5)
print(f" {a.tolist()}")
print("\n=== 3. Urug' bilan (42) — qayta ===")
np.random.seed(42)
b = np.random.randint(0, 100, 5)
print(f" {b.tolist()}")
print("\n=== 4. Bir xilmi? ===")
print(f" teng: {np.array_equal(a, b)}")
print(" ⭐ Urug' — tasodif takrorlanadi (reproduksiya)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Urug'siz (har safar boshqa) ===
(urug' bo'lmasa natija takrorlanmaydi)
=== 2. Urug' bilan (42) — birinchi ===
[51, 92, 14, 71, 60]
=== 3. Urug' bilan (42) — qayta ===
[51, 92, 14, 71, 60]
=== 4. Bir xilmi? ===
teng: True
⭐ Urug' — tasodif takrorlanadi (reproduksiya)Nima ko'rsatdi: 2.5-bo'lim.
Misol 2 — Virtual muhit (izolyatsiya modeli)
"""Virtual muhit: har loyiha alohida kutubxona (model)."""
class Muhit:
def __init__(self, nom: str) -> None:
self.nom = nom
self.paketlar = {}
def ornat(self, paket: str, versiya: str) -> None:
self.paketlar[paket] = versiya
def main() -> None:
print("=== 1. Loyiha A muhiti ===")
a = Muhit("loyiha_a")
a.ornat("pandas", "1.5.0")
print(f" {a.nom}: {a.paketlar}")
print("\n=== 2. Loyiha B muhiti ===")
b = Muhit("loyiha_b")
b.ornat("pandas", "2.0.0")
print(f" {b.nom}: {b.paketlar}")
print("\n=== 3. Chalkashlik yo'q ===")
print(f" A pandas: {a.paketlar['pandas']}, B pandas: {b.paketlar['pandas']}")
print(" har loyiha o'z versiyasi (izolyatsiya)")
print("\n=== 4. Global bo'lsa ===")
print(" bir pandas — ikki loyiha to'qnashadi (chalkashlik)")
print(" ⭐ Virtual muhit — izolyatsiya (har loyiha alohida)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Loyiha A muhiti ===
loyiha_a: {'pandas': '1.5.0'}
=== 2. Loyiha B muhiti ===
loyiha_b: {'pandas': '2.0.0'}
=== 3. Chalkashlik yo'q ===
A pandas: 1.5.0, B pandas: 2.0.0
har loyiha o'z versiyasi (izolyatsiya)
=== 4. Global bo'lsa ===
bir pandas — ikki loyiha to'qnashadi (chalkashlik)
⭐ Virtual muhit — izolyatsiya (har loyiha alohida)Nima ko'rsatdi: 2.3-bo'lim.
Misol 3 — Jupyter vs .py (ish uslubi)
"""Jupyter vs .py: interaktiv vs to'liq ishga tushirish (model)."""
def ish_uslubi(vosita: str) -> dict:
if vosita == "Jupyter":
return {"birlik": "hujayra (cell)", "natija": "darhol pastda", "grafik": "inline"}
return {"birlik": "butun fayl", "natija": "terminalda", "grafik": "alohida oyna"}
def main() -> None:
print("=== 1. Jupyter Notebook ===")
j = ish_uslubi("Jupyter")
print(f" birlik: {j['birlik']}")
print(f" natija: {j['natija']}, grafik: {j['grafik']}")
print("\n=== 2. Oddiy .py skript ===")
p = ish_uslubi(".py")
print(f" birlik: {p['birlik']}")
print(f" natija: {p['natija']}, grafik: {p['grafik']}")
print("\n=== 3. Data Science uchun ===")
print(" eksperiment → Jupyter (interaktiv, tez)")
print("\n=== 4. Ishlab chiqarish uchun ===")
print(" tayyor kod → .py (avtomatlashtirish)")
print(" ⭐ Jupyter — interaktiv eksperiment (DS uchun)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Jupyter Notebook ===
birlik: hujayra (cell)
natija: darhol pastda, grafik: inline
=== 2. Oddiy .py skript ===
birlik: butun fayl
natija: terminalda, grafik: alohida oyna
=== 3. Data Science uchun ===
eksperiment → Jupyter (interaktiv, tez)
=== 4. Ishlab chiqarish uchun ===
tayyor kod → .py (avtomatlashtirish)
⭐ Jupyter — interaktiv eksperiment (DS uchun)Nima ko'rsatdi: 2.1-bo'lim.
Misol 4 — Asosiy kutubxonalar (tekshirish)
"""Asosiy kutubxonalar: mavjudligi va vazifasi (real import)."""
def main() -> None:
kutubxonalar = [
("numpy", "sonli hisoblash (massiv)"),
("pandas", "ma'lumot (DataFrame)"),
("sklearn", "machine learning"),
]
print("=== Data Science asosiy kutubxonalari ===")
for nom, vazifa in kutubxonalar:
try:
mod = __import__(nom)
v = getattr(mod, "__version__", "?")
print(f" BOR {nom:10} v{v} — {vazifa}")
except ImportError:
print(f" YO'Q {nom:10} — {vazifa}")
print("\n standart nomlar: np, pd, plt (konvensiya)")
print(" ⭐ Kutubxonalar — Data Science yadrosi")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== Data Science asosiy kutubxonalari ===
BOR numpy v2.5.3 — sonli hisoblash (massiv)
BOR pandas v3.0.6 — ma'lumot (DataFrame)
BOR sklearn v1.9.1 — machine learning
standart nomlar: np, pd, plt (konvensiya)
⭐ Kutubxonalar — Data Science yadrosiNima ko'rsatdi: 2.4-bo'lim.
5. To'g'ri va noto'g'ri tushunishlar
| Noto'g'ri fikr | To'g'risi |
|---|---|
| "Oddiy .py yetadi" | Jupyter interaktiv (DS eksperiment) |
| "Colab uchun to'lov" | Bepul (GPU ham) |
| "Global o'rnatish yaxshi" | Virtual muhit (izolyatsiya) |
| "Urug' keraksiz" | Reproduksiya (takrorlanadigan) |
| "Kuchli noutbuk shart" | Colab (bulut hisoblaydi) |
| "Versiya muhim emas" | requirements.txt (bir xil muhit) |
| "Ma'lumot Git'ga" | Alohida (repo shishmasin) |
| "Bir hujayrada hamma kod" | Hujayralarga bo'l (interaktiv) |
6. Keng tarqalgan xatolar va yechimlari
1. Global o'rnatish (chalkashlik)
pip install pandas # global (loyihalar to'qnashadi) # ⚠️
python -m venv muhit; pip install pandas # izolyatsiya # ✅2. Reproduksiyasiz
np.random.rand() # har safar boshqa (takrorlanmaydi) # ⚠️
np.random.seed(42); np.random.rand() # urug' (takrorlanadi) # ✅3. Hamma kod bir hujayrada
# 100 qator bir hujayrada (interaktivlik yo'qoladi) # ⚠️
# mantiqiy hujayralarga bo'l (tahlil, model — alohida) # ✅4. Katta ma'lumot Git'ga
git add data.csv # 2GB fayl (repo shishadi) # ⚠️
# .gitignore: *.csv (ma'lumot alohida saqlanadi) # ✅5. Versiya belgilanmagan
# requirements.txt yo'q (boshqa muhitda ishlamaydi) # ⚠️
# pip freeze > requirements.txt (versiyalar) # ✅6. Hujayralarni tartibsiz ishga tushirish
# hujayra 5 → hujayra 2 → hujayra 8 (holat chalkashadi) # ⚠️
# yuqoridan pastga (Restart & Run All — tekshir) # ✅7. Colab sessiyasini saqlamaslik
# uzoq ish, saqlanmagan (sessiya uzildi — yo'qoldi) # ⚠️
# Drive'ga saqlash (natija, model) # ✅7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 1.1-dars (o'tilgan): Data Science nima
- 3-qism: NumPy — birinchi kutubxona
- 4-qism: Pandas — ma'lumot bilan ishlash
- 8-qism: Vizualizatsiya (matplotlib)
- 29-qism: MLOps — reproduksiya, deploy
8. Eng yaxshi amaliyotlar
Jupyter/Colab (interaktiv eksperiment).
Colab boshlovchiga (o'rnatishsiz, bepul).
Virtual muhit (har loyiha — izolyatsiya).
requirements.txt (kutubxona versiyalari).
Urug' (seed — reproduksiya).
Standart nomlar (np, pd, plt).
Ma'lumot Git'dan alohida (.gitignore).
Hujayralarga bo'l (Restart & Run All tekshir).
9. Amaliy topshiriq
Vazifa 1: Bashorat qiling
1. # Jupyter Notebook nima?
2. # hujayra (cell) nima?
3. # Jupyter afzalligi?
4. # Colab nima?
5. # Colab bepulmi?
6. # virtual muhit nima?
7. # nega virtual muhit?
8. # venv vs conda?
9. # pip nima?
10. # asosiy kutubxonalar?
11. # reproduksiya nima?
12. # urug' (seed) nima?Javoblar
- Interaktiv (kod+natija+izoh bir joyda, hujayralar)
- Alohida ishga tushiriladigan kod/matn birligi
- Interaktiv (natija darhol, grafik inline)
- Bepul bulut Jupyter (brauzerda)
- Ha (GPU ham bepul)
- Har loyiha alohida kutubxona (izolyatsiya)
- Versiyalar chalkashmaydi (dependency hell yo'q)
- venv Python standart, conda ilmiy paketlar
- Python paket menejeri (kutubxona o'rnatish)
- numpy, pandas, matplotlib, sklearn
- Boshqa ham bir xil natija oladi
- Tasodifni takrorlanadigan qiladi (seed)
Vazifa 2: Xatolarni tuzating
1. pip install pandas # global
2. np.random.rand() # urug'siz
3. # 100 qator bir hujayrada
4. git add data.csv # 2GB
5. # requirements.txt yo'qJavoblar
1. venv (izolyatsiya)
2. np.random.seed(42)
3. hujayralarga bo'l
4. .gitignore (ma'lumot alohida)
5. pip freeze > requirements.txtVazifa 3: Jupyter
Modellang:
- Hujayra
- Natija
- Interaktiv
- Markdown
Vazifa 4: Virtual muhit
Modellang:
- Loyiha A
- Loyiha B
- Izolyatsiya
- Chalkashlik yo'q
Vazifa 5: Reproduksiya
Modellang:
- Urug'
- Versiya
- Takrorlash
- Ishonch
Vazifa 6: Kutubxonalar
Modellang:
- numpy
- pandas
- sklearn
- Yadro
Vazifa 7: O'ylash
Data Science'da "reproduksiya" (boshqa kishi bir xil natija olishi) muhim — urug', versiya, kod belgilanadi. Nima uchun "takrorlanadigan ish" ilm va muhandislikda ishonchning asosi, va nega "menda ishlaydi" (works on my machine) yolg'iz o'zi yetarli emas?
Javob
Qisqa javob: "Takrorlanadigan ish" ishonchning asosi, chunki: ilm va muhandislikda natija tekshiriladigan bo'lishi kerak (boshqa ham o'sha natijani olishi — dalil); agar natija faqat bir joyda (bir kishi, bir mashina) ishlasa — u ishonchsiz (tasodifiy-mi? xato-mi? — bilib bo'lmaydi). Reproduksiya (urug' + versiya + kod) natijani mustahkam qiladi (har kim, har joyda bir xil — haqiqat). "Nega 'menda ishlaydi' yetarli emas": (1) tekshirib bo'lmaydi — faqat sizda ishlasa, boshqa tasdiqlay olmaydi (ilm — tekshiruv talab qiladi); (2) yashirin bog'liqlik — sizning mashinada maxsus versiya/sozlama bor (boshqada yo'q) → ishlamaydi (yashirin — bilinmaydi); (3) kelajakdagi siz — 6 oy keyin o'zingiz ham eslamaysiz (versiya o'zgardi — ishlamay qoldi); (4) jamoa — hamkasb kodni ishlata olmasa — foydasiz (birga ishlash — 31-qism). "Nega ilm/muhandislikda asos": ilmiy usul takrorlanishga asoslanadi (tajriba takrorlansa — haqiqat, aks holda — tasodif/xato); Data Science ilm ham (model — gipoteza, natija — tekshiriladi). Reproduksiya yo'llari: urug' (seed — tasodif bir xil), versiya (requirements.txt — muhit bir xil), kod (Git), ma'lumot (versiya). Bu umumiy tamoyil: takrorlanadigan natija — ishonch (ilm, muhandislik, biznes); "menda ishlaydi" — yolg'iz dalil emas (yashirin bog'liqlik, tekshirib bo'lmas). Data Science saboqlari: reproduksiya — ishonch asosi (takrorlanish — haqiqat); "menda ishlaydi" yetarli emas (tekshirib bo'lmaydi); urug' + versiya + kod (mustahkam); ilm takrorlanishga asoslanadi; kelajak/jamoa uchun (mustaqil). Muhit misolida: urug' + requirements.txt → boshqa ham bir xil natija (ishonch).
1. Nega takrorlanadigan ish ishonch asosi
- Natija tekshiriladigan (boshqa ham oladi — dalil)
- Bir joyda ishlasa — ishonchsiz (tasodif? xato?)
- Reproduksiya mustahkam qiladi (har kim bir xil)
2. Nega "menda ishlaydi" yetarli emas
- Tekshirib bo'lmaydi (boshqa tasdiqlay olmaydi)
- Yashirin bog'liqlik (maxsus versiya/sozlama)
- Kelajakdagi siz (eslamaysiz)
- Jamoa (hamkasb ishlata olmaydi)
3. Ilmiy usul asosi
Takrorlanish → haqiqat. Takrorlanmasa → tasodif/xato. Data Science ilm ham (model — gipoteza).
4. Reproduksiya yo'llari
Urug' (seed), versiya (requirements.txt), kod (Git), ma'lumot (versiya).
5. Data Science saboqlari
- Reproduksiya — ishonch asosi (takrorlanish)
- "Menda ishlaydi" yetarli emas (tekshirib bo'lmas)
- Urug' + versiya + kod (mustahkam)
- Ilm takrorlanishga asoslanadi
6. Xulosa
- Takrorlanadigan — ishonch (ilm, muhandislik)
- "Menda ishlaydi" — yashirin bog'liqlik (yetarli emas)
- Reproduksiya — urug' + versiya + kod
- Boshqa ham bir xil natija (haqiqat)
Nimani mustahkamlaydi: 2.5, 2.8-bo'limlar.
Xulosa
Bu darsda Data Science muhitini o'rgandik.
Eng muhim uch fikr:
Jupyter va Colab. Jupyter Notebook — Data Science'ning asosiy interaktiv vositasi: kod, natija, grafik, izoh bir hujjatda (
.ipynb), hujayralarga bo'lingan (har biri alohida ishga tushiriladi); ma'lumot tahlili eksperimental (hujayra ishga tush → natija darhol → keyingisi), grafik inline, Markdown izoh. Google Colab — bepul bulut Jupyter (brauzerda, o'rnatishsiz, GPU/TPU bepul, Drive); kuchli noutbuk kerak emas (bulut hisoblaydi), boshlovchiga ideal.Virtual muhit va kutubxonalar. Virtual muhit (
venv/conda) — har loyiha uchun izolyatsiyalangan kutubxona to'plami (python -m venv); turli loyiha turli versiya talab qiladi, global o'rnatish chalkashish ("dependency hell"), virtual muhit izolyatsiya. Paketlar (pip install) va asosiy kutubxonalar: numpy (np— massiv), pandas (pd— DataFrame), matplotlib (plt— grafik), scikit-learn (ML), torch (DL); standart nomlar (konvensiya), Data Science yadrosi.Reproduksiya va poydevor. Reproduksiya — boshqa kishi bir xil natija olishi: urug' (
np.random.seed(42)— tasodif takrorlanadi),requirements.txt(versiyalar), Git (kod); Data Science tasodifiy elementlar/versiya farqi tufayli reproduksiya zarur (ishonch — ilmiy usul). Muhit — samarali va takrorlanadigan ishning poydevori: to'g'ri muhit ishni tez (interaktiv), tartibli (izolyatsiya), takrorlanadigan (reproduksiya) qiladi. "Menda ishlaydi" yolg'iz yetarli emas (yashirin bog'liqlik, tekshirib bo'lmas) — takrorlanadigan ish ilm/muhandislik ishonchining asosi.
Keyingi darsda NumPy ni o'rganamiz: Data Science'ning sonli poydevori — massiv (ndarray), vektorlashtirilgan amallar va tez hisoblash. Bu birinchi real kutubxona.
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!