IlmHamroh
Data Science va sun'iy intellekt/EDA1/10-dars18 daqiqa
Mundarija (22)

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:

python
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:

text
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

python
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 · domen

EDA 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

python
"""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:

text
=== 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)

python
"""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:

text
=== 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 → savol

Nima ko'rsatdi: 2.2-bo'lim.

Misol 3 — Grafik kerak (Anscombe)

python
"""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:

text
=== 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

python
"""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:

text
=== 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

python
model.fit(df)   # ma'lumotni bilmay (ko'r)                        # ⚠️
# avval EDA (head, describe, grafik)                              # ✅

2. Faraz bilan

python
# "Toshkent qimmat" deb qidirish (tasdiqlovchi)                   # ⚠️
# ochiq: "nima bor?" (razvedka)                                   # ✅

3. Grafiksiz

python
df.describe()   # faqat son (Anscombe — yetmaydi)                 # ⚠️
df["x"].hist()  # grafik (naqsh)                                  # ✅

4. EDA topilma = haqiqat

python
# EDA'da topildi → xulosa (tasodifiy bo'lishi mumkin)             # ⚠️
# gipoteza → tasdiqlovchi tekshir (4.12; 8.8)                     # ✅

5. Korrelyatsiya = sabab

python
# to'q korrelyatsiya → sabab (xato)                               # ⚠️
# aloqa (sabab emas — 4.10)                                       # ✅

6. Iflosda EDA

python
df.describe()   # NaN/outlier bilan (noto'g'ri)                   # ⚠️
# avval tozala (6-qism), keyin EDA                                # ✅

7. Bir o'zgaruvchi to'xtash

python
# 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

  1. Modeldan oldin — EDA (tushunish).

  2. Ochiq fikr — razvedka (faraz emas).

  3. Grafik — Anscombe (raqam yetmaydi).

  4. Iterativ — savol → tahlil → savol.

  5. Gipoteza — tasdiqlovchi alohida 8.8-bob.

  6. Avval tozala — 6-qism.

  7. Aloqa ≠ sabab — 4.10.

  8. Domen — kontekst (naqsh ma'nosi).


9. Amaliy topshiriq

Vazifa 1: Bashorat qiling

python
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
  1. Razvedka tahlili (tushunish)
  2. Ochiq o'rganish (naqsh)
  3. Faraz emas (kashfiyot)
  4. head/info/describe/shape
  5. Savol → tahlil → yangi savol
  6. Ma'lumotni bilish (ko'r emas)
  7. Shakllantir vs tekshir
  8. Statistika + vizualizatsiya
  9. Anscombe (raqam yetmaydi)
  10. Gipoteza (tekshir kerak)
  11. Yo'q (aloqa — 4.10)
  12. Tushunish, naqsh (model asos)

Vazifa 2: Xatolarni tuzating

python
1.  model.fit(df)   # EDA yo'q

2.  # "Toshkent qimmat" qidirish

3.  df.describe()   # faqat son

4.  # EDA topildi → xulosa

5.  df.describe()   # NaN bilan
Javoblar
python
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:

  1. Razvedka
  2. Ochiq fikr
  3. Tushunish
  4. Naqsh

Vazifa 4: Jarayon

Modellang:

  1. Savol
  2. Tahlil
  3. Kashfiyot
  4. Yangi savol

Vazifa 5: Vositalar

Modellang:

  1. describe
  2. Grafik
  3. Iterativ
  4. Gipoteza

Vazifa 6: Integratsiya

Modellang:

  1. Statistika (4)
  2. Vizualizatsiya (5)
  3. Tozalash (6)
  4. 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

  1. EDA (ochiq — gipoteza shakllantir)
  2. Gipoteza (topilma → savol)
  3. Tasdiqlovchi (mustaqil — test; 8.8)
  4. Ehtiyot (topilma — dalil deb ishonma)

5. Xulosa

  1. EDA kashfiyot (ochiq — naqsh; tasodif mumkin)
  2. Ajratish (EDA shakllantir → tasdiqlovchi tekshir)
  3. Topilma gipoteza (dalil emas — tekshir; mustaqil)
  4. 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:

  1. 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).

  2. 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).

  3. 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.

Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
8.1-dars: EDA nima (razvedka tahlili) — IlmHamroh