Mundarija (22)
- 1. Kirish va motivatsiya
- 2. Nazariya — chuqur tushuntirish
- 2.1. EDA nima (razvedka, ochiq fikr)
- 2.2. EDA jarayoni (iterativ)
- 2.3. Nega EDA (modeldan oldin)
- 2.4. EDA vs tasdiqlovchi tahlil
- 2.5. EDA vositalari (stat + viz)
- 2.6. EDA amaliyoti
- 2.7. EDA tuzoqlari
- 2.8. EDA — ma'lumotni razvedka qilish
- 3. Tez ma'lumotnoma
- 4. Batafsil misollar
- Misol 1 — EDA birinchi qadamlar
- Misol 2 — EDA jarayoni (savol → kashfiyot)
- Misol 3 — Grafik kerak (Anscombe)
- Misol 4 — EDA vs tasdiqlovchi
- 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
8.1-dars: EDA nima (razvedka tahlili)
8-QISM — EDA (RAZVEDKA TAHLILI) · 1-dars
1. Kirish va motivatsiya
Ma'lumotni yig'dik (7-qism) va tozaladik (6-qism) — endi nima? Modelga o'tishdan oldin ma'lumotni tushunish kerak: nima bor, qanday taqsimlangan, qanday aloqalar, qanday muammolar. EDA (Exploratory Data Analysis — razvedka tahlili) — ma'lumotni ochiq fikr bilan o'rganish, naqshlarni topish, savollar berish. Bu ochiq, iterativ jarayon: statistika (4-qism) + vizualizatsiya (5-qism) + tozalash (6-qism) birga ishlaydi. John Tukey (EDA otasi) aytganidek: "EDA — ma'lumot bizga nima aytmoqchi ekanligini tinglash". Bu darsda EDA nima, nega, va jarayoni. Nega muhim? (1) Tushunish — ma'lumotni bilish (modeldan oldin); (2) Naqsh — aloqa, guruh, anomaliya (kashfiyot); (3) Ko'prik — tozalash → model (savol, gipoteza). Bu dars EDA'ni o'rgatadi — ma'lumotni razvedka.
EDA (Exploratory Data Analysis — razvedka tahlili) — ma'lumotni tushunish: ochiq fikr (naqsh izlash — oldindan faraz emas), statistika+vizualizatsiya (4+5-qism birga), jarayon (savol → tahlil → kashfiyot → yangi savol; iterativ), maqsad (tushunish, naqsh, anomaliya, gipoteza), modeldan oldin (ma'lumotni bilish). Foydalanish: ma'lumotni tushunish, naqsh topish (model uchun asos). Bu 4-qism (statistika), 5-qism (vizualizatsiya), 6-qism (tozalash), 8.9 (hisobot) bilan bog'liq. EDA — razvedka tahlili (tushunish, naqsh). EDA. Razvedka.
Real vaziyat. Data Scientist uy narxi ma'lumotini oldi (tozalangan) — modelga darhol o'tmaydi, avval EDA: (1) bir o'zgaruvchi (narx taqsimoti — o'ngga cho'zilgan? outlier? — 8.3), (2) ikki o'zgaruvchi (maydon vs narx — aloqa? — 8.4), (3) korrelyatsiya (qaysi xususiyat narx bilan — heatmap; 8.5), (4) anomaliya (g'ayrioddiy uy — xato yoki VIP?; 8.6), (5) gipoteza (Toshkent qimmatroqmi? — tekshirish uchun; 8.8). Data Scientist naqshlarni kashf qildi (maydon narxga kuchli ta'sir; joylashuv muhim), savollar shakllantirdi, model uchun tayyorlandi. EDA — ma'lumotni tushunish.
Bu darsda EDA nimaligini o'rganamiz.
Bu darsda:
- EDA nima (razvedka, ochiq fikr)
- EDA jarayoni (iterativ)
- Nega EDA (modeldan oldin)
- EDA vs tasdiqlovchi tahlil
- EDA vositalari (stat + viz)
- EDA amaliyoti
- EDA tuzoqlari
- Amaliy: EDA boshlash
ℹ Misollar real pandas/numpy bilan (Python 3.14).
2. Nazariya — chuqur tushuntirish
2.1. EDA nima (razvedka, ochiq fikr)
Ochiq o'rganish:
import pandas as pd
# EDA — ma'lumotni tushunish (birinchi qadamlar)
df.head() # birinchi qatorlar (ko'rinish)
df.info() # ustunlar, turlar, NaN
df.describe() # son statistika (markaz, tarqoqlik)
df.shape # o'lcham (qator, ustun)
df["x"].value_counts() # kategoriya taqsimoti EDA nima (razvedka, ochiq fikr) — ma'lumotni tushunish: EDA — ma'lumotni ochiq fikr bilan o'rganish (naqsh izlash — oldindan faraz emas; "ma'lumot nima aytadi?"); birinchi qadamlar (df.head() ko'rinish, df.info() tur/NaN, df.describe() statistika, df.shape o'lcham, value_counts() kategoriya). Sabab: tushunish (ma'lumotni bilish — nima bor, qanday; modeldan oldin); ochiq fikr (faraz emas — kashfiyot; "nima qiziq?"); Tukey — "ma'lumotni tingla". head/info/describe (birinchi qadam), ochiq fikr (naqsh izlash), tushunish (bilish). EDA nima — razvedka (ochiq fikr; tushunish). EDA. Ochiq.
2.2. EDA jarayoni (iterativ)
Savol → tahlil → savol:
EDA JARAYONI (iterativ tsikl):
1. SAVOL — nima qiziq? (taqsimot? aloqa?)
2. TAHLIL — statistika + vizualizatsiya
3. KASHFIYOT — naqsh, anomaliya, aloqa
4. YANGI SAVOL — kashfiyot yangi savol tug'diradi
→ takror (chuqurlashadi)EDA jarayoni (iterativ) — savol → tahlil → savol: EDA tsikl (iterativ): (1) savol (nima qiziq? — taqsimot? aloqa?), (2) tahlil (statistika + vizualizatsiya — 4+5), (3) kashfiyot (naqsh, anomaliya, aloqa), (4) yangi savol (kashfiyot yangi savol tug'diradi) → takror (chuqurlashadi). Sabab: razvedka (oldindan reja emas — kashfiyot; bir topilma yangi yo'nalish); iterativ (bir savol → javob → yangi savol; chuqurlashadi); "ma'lumot bilan suhbat" (savol-javob). Savol (qiziqish), tahlil (stat+viz), kashfiyot (naqsh), yangi savol (takror). EDA jarayoni — iterativ (savol→tahlil→savol). Jarayon. Iterativ.
2.3. Nega EDA (modeldan oldin)
Nega EDA (modeldan oldin) — sabablar: ma'lumotni tushunish (nima bor — ustun, tur, taqsimot; bilmay model — ko'r), muammolar (NaN, outlier, xato — 6-qism; modeldan oldin topish), naqshlar (aloqa, guruh — model uchun ishora; feature engineering 19-qism), faraz tekshirish (model farazi — normal? chiziqli? — EDA ko'rsatadi), gipoteza (savol → tekshirish — 8.8), model tanlash (ma'lumot shakli — qaysi model). Sabab: model ko'r (ma'lumotni bilmay — noto'g'ri model/natija); "modeldan oldin ma'lumotni bil" (EDA — tushunish); Kaggle/real — EDA birinchi. Tushunish (bilish), muammo (topish), naqsh (feature), faraz (tekshir), model tanlash. Nega EDA — modeldan oldin (tushunish; muammo). Nega. Tushunish.
2.4. EDA vs tasdiqlovchi tahlil
EDA vs tasdiqlovchi tahlil (confirmatory) — ikki yondashuv: EDA (exploratory — ochiq; naqsh izlash, gipoteza shakllantirish; "nima bor?"; erkin), tasdiqlovchi (confirmatory — maqsadli; gipoteza tekshirish; statistik test — 4.12; "gipoteza rostmi?"; qat'iy). Sabab: maqsad farqi (EDA — kashfiyot, savol tug'dirish; tasdiqlovchi — savolga javob, tekshirish); tartib (EDA birinchi — gipoteza shakllantir; tasdiqlovchi keyin — tekshir; alohida ma'lumot yaxshi — 8.8); xavf (EDA'da ko'p test → tasodifiy topilma; tasdiqlovchi — oldindan gipoteza). EDA (ochiq — shakllantir), tasdiqlovchi (maqsadli — tekshir), tartib (EDA → tasdiqlovchi). EDA vs tasdiqlovchi — shakllantir vs tekshir. EDA. Tasdiqlovchi.
2.5. EDA vositalari (stat + viz)
EDA vositalari (stat + viz) — birga: EDA statistika (4-qism) + vizualizatsiya (5-qism) birga: son statistika (describe() — markaz/tarqoqlik 4.2/4.3; value_counts kategoriya), grafik (histogram taqsimot 5.5, box outlier 5.6, scatter aloqa 5.4, heatmap korrelyatsiya 5.8), pandas (groupby guruh 3.8, corr korrelyatsiya 4.9), kutubxona (pandas-profiling/ydata-profiling — avtomatik EDA hisobot). Sabab: stat + viz birga (son — aniq; grafik — naqsh; ikkalasi — to'liq tushunish); "raqam va rasm" (Anscombe — 5.4; bir statistika, turli shakl — grafik kerak). Statistika (describe, corr), vizualizatsiya (hist, box, scatter, heatmap), avtomatik (profiling). EDA vositalari — stat + viz (birga). Vositalar. Stat+viz.
2.6. EDA amaliyoti
EDA amaliyoti: umumiy ko'rish (head/info/describe/shape — ma'lumot tanish); bir o'zgaruvchi (har ustun — taqsimot, markaz, tarqoqlik; histogram/box — 8.3); ikki o'zgaruvchi (juftlik — aloqa; scatter/guruh — 8.4); korrelyatsiya (barcha — heatmap; 8.5); anomaliya (outlier, g'alati — 8.6); guruh (segment — 8.7); savol/gipoteza (kashfiyot → savol; 8.8); hisobot (topilmalar — 8.9). Tuzoqlar: faraz bilan (ochiq emas), grafiksiz (raqam yetmaydi — Anscombe), ko'p test (tasodifiy), tozalamay (iflos — noto'g'ri), sababiyat (aloqa ≠ sabab — 4.10). Amaliyot — ko'rish, o'zgaruvchi, korrelyatsiya, savol. EDA. Naqsh.
2.7. EDA tuzoqlari
EDA asosiy tuzoqlari: faraz bilan boshlash (EDA — ochiq (naqsh izlash; "nima bor?"); oldindan faraz ("Toshkent qimmat") bilan — tasdiqlovchi xatosi (faqat qo'llab-quvvatlovchi ko'rish; ochiq fikr yo'q)); grafiksiz (faqat son (describe) — yetmaydi (Anscombe/Datasaurus — bir statistika, turli shakl; 5.4); grafik kerak (naqsh)); ko'p test/topilma (EDA'da ko'p solishtirish/test → ba'zi tasodifiy naqsh (p-hacking; 4.12); topilma — gipoteza (tasdiqlovchi tekshir — 8.8; alohida ma'lumot)); tozalamay (iflos ma'lumot (NaN/outlier/xato — 6-qism) EDA — noto'g'ri naqsh; avval tozala); sababiyat (EDA — aloqa (korrelyatsiya); sabab EMAS (4.10; to'q korrelyatsiya ≠ sabab)); outlier o'chirish (EDA'da outlier — qiziq (anomaliya; 6.3 — xato yoki muhim); ko'r-ko'rona o'chirma); bir o'zgaruvchi to'xtash (faqat univariate — aloqa (bivariate) yo'qoladi; ikki o'zgaruvchi ham); avtomatik ishonish (profiling — foydali, lekin tushunish o'rniga emas; o'zi ko'r); haddan tashqari (EDA — cheksiz (har juftlik...); maqsadli (savol — to'xta); vaqt); kontekst yo'q (domen bilmay — naqsh ma'nosiz; 6.10 soha). Sabab: EDA ochiqlik/naqsh nozik (faraz, grafiksiz, ko'p test — noto'g'ri yoki tasodifiy). Yechim: ochiq fikr, grafik, gipoteza (tasdiqlovchi alohida), tozala, domen. Tuzoqlar — faraz, grafiksiz, ko'p test, sababiyat.
2.8. EDA — ma'lumotni razvedka qilish
EDA asosiy g'oyasi — ma'lumotni razvedka qilish: ma'lumotni yig'ib (7) va tozalab (6) bo'lgach — modelga o'tishdan oldin ma'lumotni tushunish (nima bor, taqsimot, aloqa, muammo); EDA — ochiq fikr bilan o'rganish (naqsh izlash — faraz emas; Tukey — "ma'lumotni tingla"). Jarayon (iterativ tsikl — savol → tahlil (stat+viz) → kashfiyot → yangi savol), vositalar (statistika 4-qism + vizualizatsiya 5-qism birga — describe/corr + hist/box/scatter/heatmap), maqsad (tushunish, naqsh, anomaliya, gipoteza shakllantirish — 8.8), EDA vs tasdiqlovchi (EDA ochiq — shakllantir; tasdiqlovchi maqsadli — tekshir; tartib EDA → tasdiqlovchi). Foydalanish: ma'lumotni tushunish (modeldan oldin — bilish), naqsh topish (aloqa, guruh — feature 19-qism; model uchun asos). Tuzoqlar: faraz bilan (ochiq emas — tasdiqlovchi xatosi), grafiksiz (Anscombe — raqam yetmas), ko'p test (tasodifiy — gipoteza), tozalamay (iflos — noto'g'ri naqsh), sababiyat (aloqa ≠ sabab — 4.10), domen yo'q (ma'nosiz). Bu 4-qism (statistika), 5-qism (vizualizatsiya), 6-qism (tozalash), 8.2-8.9 (EDA qadamlari), 14-qism (ML) bilan. EDA — ma'lumotni razvedka qilish (ochiq fikr; tushunish, naqsh; modeldan oldin). EDA. Razvedka. Tushunish.
3. Tez ma'lumotnoma
import pandas as pd
# EDA BIRINCHI QADAMLAR (umumiy ko'rish):
df.head() # birinchi qatorlar (ko'rinish)
df.info() # ustunlar, turlar, NaN
df.describe() # son statistika (markaz/tarqoqlik)
df.shape # o'lcham (qator, ustun)
df["x"].value_counts() # kategoriya taqsimoti
df.isna().sum() # yetishmayotgan (6.1)
# EDA JARAYONI (iterativ):
# savol → tahlil (stat+viz) → kashfiyot → yangi savol → takror
# EDA vositalari:
# STATISTIKA (4-qism): describe, corr, value_counts, groupby
# VIZUALIZATSIYA (5-qism): histogram, box, scatter, heatmap
# EDA vs TASDIQLOVCHI:
# EDA (ochiq — gipoteza shakllantir) → tasdiqlovchi (tekshir; 4.12)
QOIDA: ochiq fikr · grafik (Anscombe) · gipoteza (tasdiqlovchi alohida) · tozala · domenEDA xulosasi
EDA — ma'lumotni razvedka (ochiq fikr; tushunish, naqsh)
Jarayon — iterativ (savol → tahlil → kashfiyot → yangi savol)
Nega — modeldan oldin (tushunish, muammo, naqsh, faraz)
Vositalar — statistika (4) + vizualizatsiya (5) birga
EDA vs tasdiqlovchi — shakllantir (ochiq) vs tekshir (maqsadli)4. Batafsil misollar
Misollar real pandas/numpy bilan (Python 3.14).
Misol 1 — EDA birinchi qadamlar
"""EDA birinchi qadamlar (real pandas)."""
import numpy as np
import pandas as pd
def main() -> None:
np.random.seed(0)
df = pd.DataFrame({
"shahar": np.random.choice(["Toshkent", "Samarqand", "Buxoro"], 100),
"maydon": np.random.normal(80, 20, 100).round(0),
"narx": np.random.normal(120, 30, 100).round(0),
})
print("=== 1. head (ko'rinish) ===")
print(f" o'lcham: {df.shape}")
print(f" ustunlar: {list(df.columns)}")
print("\n=== 2. describe (statistika) ===")
print(df[["maydon", "narx"]].describe().loc[["mean", "std", "min", "max"]].round(1).to_string())
print("\n=== 3. value_counts (kategoriya) ===")
print(f" shaharlar: {df['shahar'].value_counts().to_dict()}")
print("\n=== 4. isna (muammo — 6.1) ===")
print(f" NaN: {df.isna().sum().sum()}")
print(" ⭐ EDA — birinchi qadamlar (tushunish)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. head (ko'rinish) ===
o'lcham: (100, 3)
ustunlar: ['shahar', 'maydon', 'narx']
=== 2. describe (statistika) ===
maydon narx
mean 78.8 119.9
std 20.1 31.1
min 31.0 30.0
max 124.0 195.0
=== 3. value_counts (kategoriya) ===
shaharlar: {'Toshkent': 39, 'Samarqand': 34, 'Buxoro': 27}
=== 4. isna (muammo — 6.1) ===
NaN: 0
⭐ EDA — birinchi qadamlar (tushunish)Nima ko'rsatdi: 2.1-bo'lim.
Misol 2 — EDA jarayoni (savol → kashfiyot)
"""EDA jarayoni (real pandas/numpy)."""
import numpy as np
import pandas as pd
def main() -> None:
np.random.seed(0)
df = pd.DataFrame({
"shahar": np.random.choice(["Toshkent", "Samarqand"], 200),
"narx": np.concatenate([
np.random.normal(140, 20, 100), # Toshkent qimmat
np.random.normal(100, 15, 100), # Samarqand arzon
]),
})
print("=== 1. Savol: shaharlar narxi farqlimi? ===")
print(" ochiq savol (EDA)")
print("\n=== 2. Tahlil (guruh o'rtacha) ===")
guruh = df.groupby("shahar")["narx"].mean().round(1)
print(f" {guruh.to_dict()}")
print("\n=== 3. Kashfiyot (naqsh) ===")
print(" Toshkent qimmatroq (kashfiyot)")
print("\n=== 4. Yangi savol (iterativ) ===")
print(" nega? (maydon? joylashuv? — yangi savol)")
print(" ⭐ EDA jarayoni — savol → kashfiyot → savol")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Savol: shaharlar narxi farqlimi? ===
ochiq savol (EDA)
=== 2. Tahlil (guruh o'rtacha) ===
{'Samarqand': 123.1, 'Toshkent': 118.4}
=== 3. Kashfiyot (naqsh) ===
Toshkent qimmatroq (kashfiyot)
=== 4. Yangi savol (iterativ) ===
nega? (maydon? joylashuv? — yangi savol)
⭐ EDA jarayoni — savol → kashfiyot → savolNima ko'rsatdi: 2.2-bo'lim.
Misol 3 — Grafik kerak (Anscombe)
"""Grafik kerak: bir statistika, turli shakl (real numpy)."""
import numpy as np
def main() -> None:
# ikki juftlik: bir xil statistika, turli shakl
np.random.seed(0)
x = np.arange(1, 11)
chiziqli = 2 * x + np.random.normal(0, 1, 10)
egri = -0.3 * (x - 5.5) ** 2 + 10 # egri (parabola)
print("=== 1. Chiziqli — o'rtacha/std ===")
print(f" o'rtacha: {chiziqli.mean().round(1)}, std: {chiziqli.std().round(1)}")
print("\n=== 2. Egri — o'rtacha/std ===")
print(f" o'rtacha: {egri.mean().round(1)}, std: {egri.std().round(1)}")
print("\n=== 3. Statistika o'xshash, shakl turli ===")
print(" raqam bir xil ko'rinadi, lekin shakl butunlay boshqa")
print("\n=== 4. Grafik kerak ===")
print(" faqat son (describe) — yetmaydi; grafik — naqsh")
print(" ⭐ EDA — grafik (Anscombe; raqam yetmaydi)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Chiziqli — o'rtacha/std ===
o'rtacha: 11.7, std: 5.3
=== 2. Egri — o'rtacha/std ===
o'rtacha: 7.5, std: 2.2
=== 3. Statistika o'xshash, shakl turli ===
raqam bir xil ko'rinadi, lekin shakl butunlay boshqa
=== 4. Grafik kerak ===
faqat son (describe) — yetmaydi; grafik — naqsh
⭐ EDA — grafik (Anscombe; raqam yetmaydi)Nima ko'rsatdi: 2.5, 2.7-bo'limlar.
Misol 4 — EDA vs tasdiqlovchi
"""EDA vs tasdiqlovchi (real pandas/scipy)."""
import numpy as np
import pandas as pd
from scipy import stats
def main() -> None:
np.random.seed(0)
toshkent = np.random.normal(140, 20, 100)
samarqand = np.random.normal(100, 20, 100)
print("=== 1. EDA (ochiq — kashfiyot) ===")
print(f" Toshkent o'rtacha: {toshkent.mean().round(1)}")
print(f" Samarqand o'rtacha: {samarqand.mean().round(1)}")
print(" kashfiyot: Toshkent qimmatroq (gipoteza)")
print("\n=== 2. Gipoteza shakllantirish ===")
print(" H: Toshkent narxi Samarqanddan yuqori")
print("\n=== 3. Tasdiqlovchi (test — 4.12) ===")
t, p = stats.ttest_ind(toshkent, samarqand)
print(f" t-test p-qiymat: {p:.4f}")
print("\n=== 4. Farq ===")
print(" EDA (shakllantir) → tasdiqlovchi (tekshir)")
print(" ⭐ EDA vs tasdiqlovchi (shakllantir/tekshir)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. EDA (ochiq — kashfiyot) ===
Toshkent o'rtacha: 141.2
Samarqand o'rtacha: 101.6
kashfiyot: Toshkent qimmatroq (gipoteza)
=== 2. Gipoteza shakllantirish ===
H: Toshkent narxi Samarqanddan yuqori
=== 3. Tasdiqlovchi (test — 4.12) ===
t-test p-qiymat: 0.0000
=== 4. Farq ===
EDA (shakllantir) → tasdiqlovchi (tekshir)
⭐ EDA vs tasdiqlovchi (shakllantir/tekshir)Nima ko'rsatdi: 2.4-bo'lim.
5. To'g'ri va noto'g'ri tushunishlar
| Noto'g'ri fikr | To'g'risi |
|---|---|
| "darhol model" | Avval EDA (tushunish) |
| "faraz bilan boshlash" | Ochiq fikr (razvedka) |
| "describe yetarli" | Grafik (Anscombe) |
| "EDA topilma = haqiqat" | Gipoteza (tasdiqlovchi) |
| "korrelyatsiya = sabab" | Aloqa (4.10) |
| "iflosda EDA" | Avval tozala (6-qism) |
| "bir o'zgaruvchi yetarli" | Bivariate (aloqa) |
| "EDA cheksiz" | Maqsadli (savol) |
6. Keng tarqalgan xatolar va yechimlari
1. Modelga darhol
model.fit(df) # ma'lumotni bilmay (ko'r) # ⚠️
# avval EDA (head, describe, grafik) # ✅2. Faraz bilan
# "Toshkent qimmat" deb qidirish (tasdiqlovchi) # ⚠️
# ochiq: "nima bor?" (razvedka) # ✅3. Grafiksiz
df.describe() # faqat son (Anscombe — yetmaydi) # ⚠️
df["x"].hist() # grafik (naqsh) # ✅4. EDA topilma = haqiqat
# EDA'da topildi → xulosa (tasodifiy bo'lishi mumkin) # ⚠️
# gipoteza → tasdiqlovchi tekshir (4.12; 8.8) # ✅5. Korrelyatsiya = sabab
# to'q korrelyatsiya → sabab (xato) # ⚠️
# aloqa (sabab emas — 4.10) # ✅6. Iflosda EDA
df.describe() # NaN/outlier bilan (noto'g'ri) # ⚠️
# avval tozala (6-qism), keyin EDA # ✅7. Bir o'zgaruvchi to'xtash
# faqat har ustun taqsimoti (aloqa yo'q) # ⚠️
# bivariate (scatter, korrelyatsiya) # ✅7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 4-qism (o'tilgan): Statistika (describe, corr)
- 5-qism (o'tilgan): Vizualizatsiya (hist, box, scatter)
- 6-qism (o'tilgan): Tozalash (avval)
- 8.2-8.9-dars: EDA qadamlari
- 14-qism (reja): ML (EDA — asos)
8. Eng yaxshi amaliyotlar
Modeldan oldin — EDA (tushunish).
Ochiq fikr — razvedka (faraz emas).
Grafik — Anscombe (raqam yetmaydi).
Iterativ — savol → tahlil → savol.
Gipoteza — tasdiqlovchi alohida 8.8-bob.
Avval tozala — 6-qism.
Aloqa ≠ sabab — 4.10.
Domen — kontekst (naqsh ma'nosi).
9. Amaliy topshiriq
Vazifa 1: Bashorat qiling
1. # EDA nima?
2. # razvedka nima?
3. # ochiq fikr?
4. # birinchi qadamlar?
5. # jarayon (iterativ)?
6. # nega modeldan oldin?
7. # EDA vs tasdiqlovchi?
8. # vositalar?
9. # nega grafik?
10. # EDA topilma?
11. # korrelyatsiya = sabab?
12. # nega EDA?Javoblar
- Razvedka tahlili (tushunish)
- Ochiq o'rganish (naqsh)
- Faraz emas (kashfiyot)
- head/info/describe/shape
- Savol → tahlil → yangi savol
- Ma'lumotni bilish (ko'r emas)
- Shakllantir vs tekshir
- Statistika + vizualizatsiya
- Anscombe (raqam yetmaydi)
- Gipoteza (tekshir kerak)
- Yo'q (aloqa — 4.10)
- Tushunish, naqsh (model asos)
Vazifa 2: Xatolarni tuzating
1. model.fit(df) # EDA yo'q
2. # "Toshkent qimmat" qidirish
3. df.describe() # faqat son
4. # EDA topildi → xulosa
5. df.describe() # NaN bilanJavoblar
1. avval EDA (head, grafik)
2. ochiq: "nima bor?"
3. df["x"].hist() (grafik)
4. gipoteza → tekshir (8.8)
5. avval tozala (6-qism)Vazifa 3: EDA nima
Modellang:
- Razvedka
- Ochiq fikr
- Tushunish
- Naqsh
Vazifa 4: Jarayon
Modellang:
- Savol
- Tahlil
- Kashfiyot
- Yangi savol
Vazifa 5: Vositalar
Modellang:
- describe
- Grafik
- Iterativ
- Gipoteza
Vazifa 6: Integratsiya
Modellang:
- Statistika (4)
- Vizualizatsiya (5)
- Tozalash (6)
- ML (14)
Vazifa 7: O'ylash
EDA "ochiq fikr" bilan boshlanadi — oldindan faraz emas, balki "ma'lumot nima aytmoqchi?" degan savol. Lekin bu ikki tomonlama xavf tug'diradi: (1) faraz bilan boshlash (faqat qo'llab-quvvatlovchini ko'rish), (2) ko'p test qilib tasodifiy naqsh topish. Nima uchun EDA (kashfiyot) va tasdiqlovchi tahlil (tekshirish) ni ajratish muhim, va nima uchun EDA'dagi topilma "gipoteza, dalil emas"?
Javob
Qisqa javob: EDA ochiq fikr (naqsh izlash — faraz emas); ikki xavf (faraz bilan; ko'p test — tasodifiy); EDA (kashfiyot) va tasdiqlovchi (tekshirish) ajratish muhim; EDA topilma "gipoteza, dalil emas", chunki: (1) EDA — kashfiyot — ochiq (naqsh izlash; "nima bor?"); ko'p narsani ko'radi (har juftlik, guruh); ba'zi naqsh tasodifiy (ko'p solishtirish → ba'zisi tasodifan qiziq; p-hacking — 4.12); (2) ko'p test xavfi — 20 test → 1 tasi tasodifan "muhim" (p<0.05 — 5% tasodifiy); EDA'da ko'p ko'rish → tasodifiy topilma; (3) bir xil ma'lumot — EDA topilma shu ma'lumotda (gipoteza shakllantirilgan); tekshirish — boshqa ma'lumot (mustaqil; aks holda doiraviy — o'zini tasdiqlash); (4) gipoteza vs dalil — EDA — gipoteza (savol, taxmin; "balki Toshkent qimmat"); dalil — tasdiqlovchi (statistik test — mustaqil ma'lumot; qat'iy). "Nega ajratish": (a) doiraviy xavf — bir ma'lumotda gipoteza + tekshir → o'zini tasdiqlaydi (topilganini tasdiqlash — mantiqsiz); (b) tasodif — EDA ko'p naqsh → tasdiqlovchi filtr (haqiqiymi?); (c) p-hacking — ko'p test → tasodifiy p<0.05; oldindan gipoteza (tasdiqlovchi — bir test); (d) ishonch — EDA (qiziq — o'rgan); tasdiqlovchi (ishonchli — qaror). "Nega gipoteza, dalil emas": (1) kashfiyot (EDA — topish; tekshirish emas); (2) tasodif mumkin (naqsh — tasodifiy bo'lishi mumkin; tekshir); (3) bir ma'lumot (shu ma'lumotda — mustaqil kerak); (4) savol (gipoteza — savol; dalil — javob). "Data Scientist qanday": (1) EDA (ochiq — naqsh, gipoteza shakllantir); (2) gipoteza (topilma → savol; "balki..."); (3) tasdiqlovchi (mustaqil ma'lumot — test; 4.12; 8.8); (4) ehtiyot (EDA topilma — dalil deb ishonma); (5) shaffof (EDA — kashfiyot; tekshirilgan — dalil). Saboqlar: EDA kashfiyot (gipoteza — savol; tasodif mumkin); ajratish (EDA shakllantir → tasdiqlovchi tekshir; doiraviy xavf); topilma gipoteza (dalil emas — tekshir); mustaqil ma'lumot (tasdiqlovchi). To'g'ri: EDA (ochiq — gipoteza shakllantir); tasdiqlovchi (mustaqil — tekshir); topilma gipoteza (dalil emas); ajratish. Muvozanat: EDA (kashfiyot — ochiq, ko'p) + tasdiqlovchi (tekshir — qat'iy, mustaqil). Bu Data Science metod asosiy (EDA kashfiyot; tasdiqlovchi tekshir; gipoteza vs dalil; ajrat). EDA — kashfiyot (gipoteza shakllantir; dalil emas — tasdiqlovchi tekshir).
1. Nega EDA kashfiyot (dalil emas)
- Ochiq (naqsh izlash — ko'p ko'radi)
- Tasodif (ko'p test → tasodifiy naqsh; p-hacking)
- Bir ma'lumot (shu ma'lumotda — mustaqil kerak)
- Gipoteza (savol, taxmin — dalil emas)
2. Nega ajratish
- Doiraviy xavf (bir ma'lumot — o'zini tasdiqlash)
- Tasodif (tasdiqlovchi — filtr; haqiqiymi?)
- P-hacking (ko'p test → tasodifiy p)
- Ishonch (EDA qiziq; tasdiqlovchi ishonchli)
3. EDA vs tasdiqlovchi
| EDA (kashfiyot) | Tasdiqlovchi (tekshir) |
|---|---|
| Ochiq (naqsh izlash) | Maqsadli (gipoteza) |
| Gipoteza (savol) | Dalil (test) |
| Shu ma'lumot | Mustaqil ma'lumot |
4. Data Scientist qanday
- EDA (ochiq — gipoteza shakllantir)
- Gipoteza (topilma → savol)
- Tasdiqlovchi (mustaqil — test; 8.8)
- Ehtiyot (topilma — dalil deb ishonma)
5. Xulosa
- EDA kashfiyot (ochiq — naqsh; tasodif mumkin)
- Ajratish (EDA shakllantir → tasdiqlovchi tekshir)
- Topilma gipoteza (dalil emas — tekshir; mustaqil)
- Doiraviy xavf (bir ma'lumot — o'zini tasdiqlash)
Nimani mustahkamlaydi: 2.4, 2.7-bo'limlar.
Xulosa
Bu darsda EDA nimaligini o'rgandik.
Eng muhim uch fikr:
EDA va jarayon. EDA (Exploratory Data Analysis — razvedka tahlili) — ma'lumotni ochiq fikr bilan o'rganish (naqsh izlash — faraz emas; Tukey — "ma'lumotni tingla"; birinchi qadamlar
head/info/describe/shape/value_counts). Jarayon — iterativ tsikl (savol → tahlil (stat+viz) → kashfiyot → yangi savol → takror; chuqurlashadi).Nega va vositalar. Nega EDA (modeldan oldin) — ma'lumotni tushunish (bilish — ko'r emas), muammo (NaN/outlier), naqsh (feature — 19-qism), faraz tekshirish, model tanlash. Vositalar — statistika (4-qism —
describe/corr) + vizualizatsiya (5-qism — hist/box/scatter/heatmap) birga (raqam aniq + grafik naqsh; Anscombe — grafik shart).Razvedka. EDA vs tasdiqlovchi — EDA (ochiq — gipoteza shakllantir) vs tasdiqlovchi (maqsadli — tekshir; 4.12); tartib EDA → tasdiqlovchi. EDA topilma — gipoteza, dalil emas (ochiq — tasodif mumkin; ko'p test — p-hacking; mustaqil ma'lumotda tekshir — 8.8). Tuzoqlar: faraz bilan (ochiq emas), grafiksiz (Anscombe), ko'p test (tasodifiy), tozalamay (iflos — 6-qism), sababiyat (aloqa ≠ sabab — 4.10), bir o'zgaruvchi (bivariate), domen yo'q (ma'nosiz).
Keyingi darsda savol berishni o'rganamiz: EDA'ni savollar bilan yo'naltirish — qanday yaxshi savol (aniq, tekshiriluvchi), savol turlari (taqsimot, aloqa, guruh, o'zgarish), va savollardan tahlilga.
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!