IlmHamroh
Data Science va sun'iy intellekt/Vizualizatsiya5/14-dars16 daqiqa
Mundarija (22)

5.5-dars: Histogram

5-QISM — VIZUALIZATSIYA · 5-dars


1. Kirish va motivatsiya

Histogram — bir o'zgaruvchanning taqsimotini ko'rsatuvchi asosiy grafik. U qiymatlarni oraliqlarga (bins) bo'lib, har oraliqda nechta qiymat borligini ustun balandligi bilan ko'rsatadi. Shu bilan taqsimot shakli ko'rinadi: simmetrik (qo'ng'iroq), qiyshiq (dum), bir cho'qqi yoki ikki cho'qqi (bimodal). 4.5-darsda taqsimot shaklini raqam bilan (skewness) ko'rdik; histogram esa uni ko'z bilan ochadi. Data Science'da har son ustunni tahlil qilishning birinchi qadami — histogram (shaklni ko'r). Nega muhim? (1) Taqsimot shakli — simmetrik/qiyshiq/bimodal; (2) Markaz va tarqoqlik — qayerda jamlangan, qanchalik keng; (3) Anomaliya — outlier, g'alati naqsh. Bu dars histogramni chuqur o'rgatadi — bir o'zgaruvchan taqsimoti.

Histogram — bir o'zgaruvchan taqsimoti: ax.hist (oraliqlarga bo'lib chastota), bins (oraliqlar soni — muhim tanlov), shakl (simmetrik/qiyshiq/bimodal — 4.5), markaz/tarqoqlik (qayerda jamlangan, keng), zichlik (density=True — foiz/ehtimol), taqqoslash (ko'p histogram — shaffof). Foydalanish: taqsimot shakli, markaz, anomaliya. Bu 4.5 (taqsimot), 5.1 (Matplotlib) bilan bog'liq. Histogram — taqsimot shakli. Bins. Chastota.

Real vaziyat. Data Scientist imtihon balli taqsimotini ko'rdi: ax.hist(ballar, bins=20) — shakl darrov (qo'ng'iroq — normal; markaz 70 atrofida). Bimodal: boshqa imtihon — ikki cho'qqi (40 va 80 — ikki guruh: tayyorlangan/tayyorlanmagan; o'rtacha aldaydi — 4.5). Qiyshiq: maosh histogram — o'ngga dum (ko'p past, kam juda katta; median afzal). Bins: kam bins (5) — qo'pol; ko'p bins (100) — shovqinli; ~20-30 (balans). Grafik shaklni ochdi (simmetrik/qiyshiq/bimodal — raqam yashiradi, 4.5). Histogram — taqsimot ko'zi (shakl, markaz).

Bu darsda histogramni o'rganamiz.

Bu darsda:

  • Histogram (hist)
  • Bins (oraliqlar) tanlash
  • Taqsimot shakli
  • Zichlik (density)
  • Ko'p histogram (taqqoslash)
  • Histogram amaliyoti
  • Histogram tuzoqlari
  • Amaliy: histogram modeli

ℹ Misollar real matplotlib/numpy bilan (Agg — grafik xususiyatlari matn bilan tekshiriladi) ishlaydi.


2. Nazariya — chuqur tushuntirish

2.1. Histogram (hist)

Oraliqlarga bo'lib chastota:

python
import matplotlib.pyplot as plt
import numpy as np

np.random.seed(0)
ballar = np.random.normal(70, 10, 1000)

fig, ax = plt.subplots()
ax.hist(ballar, bins=20)     # 20 oraliqqa bo'lib chastota

ax.set_xlabel("Ball")
ax.set_ylabel("Chastota")

Histogram (hist) — oraliqlarga bo'lib chastota: ax.hist(data, bins=20) (qiymatlarni oraliqlarga (bins) bo'lib, har oraliqda nechta — ustun balandligi). Sabab: bir o'zgaruvchan taqsimoti (qiymatlar qanday tarqalgan — ko'p qayerda, kam qayerda); histogram chastotani ko'rsatadi (har oraliqda nechta — shakl). ax.hist(data, bins=) (oraliqlar). Bar (kategoriya — 5.3) vs hist (son taqsimoti — oraliqlar). Histogram shaklni ochadi (4.5 — simmetrik/qiyshiq). Histogram — hist (oraliqlar, chastota). Taqsimot. Chastota.

2.2. Bins (oraliqlar) tanlash

Oraliqlar soni muhim:

python
# bins — oraliqlar soni (SHAKLGA TA'SIR QILADI)
ax.hist(data, bins=5)     # kam — qo'pol (shakl yashirin)
ax.hist(data, bins=20)    # o'rta — yaxshi (shakl ko'rinadi)
ax.hist(data, bins=100)   # ko'p — shovqinli (har nuqta)

# bins tanlash: ~sqrt(n) yoki 20-50 (ma'lumotga qarab)

Bins (oraliqlar) tanlash — muhim: bins (oraliqlar soni — shaklga ta'sir qiladi): kam bins (5 — qo'pol, shakl yashirin; detal yo'q), o'rta (20-30 — yaxshi, shakl ko'rinadi), ko'p bins (100 — shovqinli, har nuqta alohida). Sabab: bins shaklni o'zgartiradi (kam — silliq, detal yo'q; ko'p — shovqin, naqsh yo'qoladi); balans kerak (shakl ko'rinadi, shovqin yo'q). Tanlov: ~`sqrt(n)` yoki 20-50 (ma'lumotga qarab; sinab ko'r). Bir xil ma'lumot, turli bins — turli ko'rinish (bimodal bins bilan yashirinishi mumkin). Bins — oraliqlar soni (shaklga ta'sir). Balans. Muhim.

2.3. Taqsimot shakli

Taqsimot shakli — histogram ochadi 4.5-bob: simmetrik (qo'ng'iroq — o'rtacha markazda, teng; normal — bo'y), qiyshiq (dum — o'ngga (maosh, chet katta) yoki chapga; skewness 4.5), bimodal (ikki cho'qqi — ikki guruh; o'rtacha aldaydi), bir tekis (uniform — teng balandlik). Sabab: histogram shaklni ko'zga ochadi (raqam — skewness 4.5; histogram — ko'r); shakl statistikani belgilaydi (simmetrik — o'rtacha; qiyshiq — median; bimodal — segmentatsiya — 4.5). Histogram — birinchi qadam (son ustun — shakl ko'r; EDA 9-qism). Taqsimot shakli — simmetrik/qiyshiq/bimodal (histogram). Shakl. 4.5.

2.4. Zichlik (density)

Zichlik (density) — chastota o'rniga foiz: ax.hist(data, density=True) (y o'q chastota (nechta) o'rniga zichlik (foiz/ehtimol — maydon 1 ga teng)). Sabab: ko'p histogram taqqoslash (turli hajmli ma'lumot — chastota adolatsiz: 1000 vs 100; zichlik — foiz, adolatli), ehtimol (zichlik — ehtimol zichligi; taqsimot egrisi — normal solishtirish). Chastota (nechta — bir ma'lumot), zichlik (foiz — taqqoslash, ehtimol). KDE (zichlik egrisi — seaborn 5.7, silliq). Zichlik — density=True (foiz — taqqoslash). Ehtimol. Taqqoslash.

2.5. Ko'p histogram (taqqoslash)

Ko'p histogram (taqqoslash) — ikki taqsimot: ax.hist(a, alpha=0.5, label="A") + ax.hist(b, alpha=0.5, label="B") (shaffof — alpha; ustma-ust ko'rinadi; legend). Sabab: ikki guruh taqsimotini solishtirish (erkak vs ayol bo'yi; A vs B ball); ustma-ust shaffof (alpha — ikkalasi ko'rinadi). Zichlik (density=True — turli hajm adolatli). Muhim: ko'p histogram chalkash bo'lishi mumkin (2-3 yetadi; ko'p — box plot 5.6 yoki alohida). Ko'p histogram — shaffof (alpha, taqqoslash). Solishtirish. Shaffof.

2.6. Histogram amaliyoti

Histogram amaliyoti: ax.hist (taqsimot — oraliqlar); bins (oraliqlar — balans 20-30); shakl (simmetrik/qiyshiq/bimodal — 4.5); density (foiz — taqqoslash); ko'p histogram (shaffof alpha — solishtirish); bezash (title/label); Pandas (df["ustun"].hist() — tez); birinchi qadam (son ustun — shakl ko'r). Tuzoqlar: bins noto'g'ri (kam — yashirin, ko'p — shovqin), kategoriyaga hist (bar), o'q boshi (hist chastota — 0 dan), ko'p histogram chalkash. Amaliyot — hist, bins, shakl, density. Taqsimot. Shakl.

2.7. Histogram tuzoqlari

Histogram asosiy tuzoqlari: bins noto'g'ri (kam bins (5) — shakl yashirin (bimodal bir cho'qqi ko'rinadi); ko'p bins (100) — shovqinli (har nuqta, naqsh yo'q); balans 20-30, sqrt(n); bir xil ma'lumot, turli bins — turli xulosa); kategoriyaga hist (kategoriya — bar 5.3-bob; hist son taqsimoti uchun); bimodal yashirinish (kam bins — ikki cho'qqi bir cho'qqi; ko'p bins sina); ko'p histogram chalkash (3+ ustma-ust — o'qib bo'lmaydi; box plot 5.6 yoki alohida); hajm adolatsiz (ko'p histogram — turli hajm; density=True foiz); outlier siqadi (bir outlier — o'q kengayadi, asosiy taqsimot siqiladi; outlier tekshir/kesish); NaN (hist NaN — xato; dropna). Sabab: histogram bins/shakl nozik (bins tanlov — shakl o'zgaradi; bimodal yashirinish — jim xato). Yechim: bins balans (sina), bar (kategoriya), density (taqqoslash), outlier tekshir. Tuzoqlar — bins, kategoriya, bimodal, hajm.

2.8. Histogram — bir o'zgaruvchan taqsimoti

Histogram asosiy g'oyasi — bir o'zgaruvchan taqsimoti: qiymatlarni oraliqlarga (bins) bo'lib, har oraliqda nechta (chastota — ustun balandlik); taqsimot shaklini ko'zga ochadi (simmetrik/qiyshiq/bimodal — raqam yashiradi, 4.5). ax.hist (oraliqlar, chastota), bins (oraliqlar soni — shaklga ta'sir, balans 20-30), shakl (simmetrik — normal; qiyshiq — dum; bimodal — ikki guruh; 4.5), zichlik (density — foiz, taqqoslash), ko'p histogram (shaffof alpha — solishtirish). Foydalanish: taqsimot shakli (birinchi qadam — son ustun ko'r), markaz/tarqoqlik (qayerda jamlangan, keng), anomaliya (outlier, g'alati naqsh). Muhim: bins tanlov (shakl o'zgaradi — sina), kcategoriya — bar 5.3-bob. Data Science'da doim (son ustun tahlili — histogram birinchi; EDA 9-qism; statistika + histogram). Bu 4.5 (taqsimot — skewness) davomi (histogram — shakl ko'r) va 5.6 (box plot), 5.7 (seaborn — KDE) bilan. Histogram — bir o'zgaruvchan taqsimoti (hist, shakl). Taqsimot. Shakl.


3. Tez ma'lumotnoma

python
import matplotlib.pyplot as plt

# HISTOGRAM (bir o'zgaruvchan taqsimoti):
fig, ax = plt.subplots()
ax.hist(data, bins=20)         # 20 oraliqqa chastota

# BINS (oraliqlar — SHAKLGA TA'SIR):
ax.hist(data, bins=5)          # kam — qo'pol (yashirin)
ax.hist(data, bins=20)         # o'rta — yaxshi
ax.hist(data, bins=100)        # ko'p — shovqinli
#   balans: ~sqrt(n) yoki 20-50

# SHAKL 4.5-bob:
#   simmetrik (qo'ng'iroq) · qiyshiq (dum) · bimodal (2 cho'qqi)

# ZICHLIK (foiz — taqqoslash):
ax.hist(data, density=True)

# KO'P HISTOGRAM (taqqoslash — shaffof):
ax.hist(a, alpha=0.5, label="A"); ax.hist(b, alpha=0.5, label="B")
ax.legend()

# PANDAS (tez):
df["ustun"].hist(bins=20)

QOIDA: bins balans (sinab) · kategoriya — bar · density (taqqoslash) · birinchi qadam

Histogram xulosasi

Histogram — bir o'zgaruvchan taqsimoti (hist)
Oraliqlarga (bins) bo'lib chastota (ustun balandlik)
Bins — oraliqlar soni (SHAKLGA ta'sir; balans 20-30)
Shakl — simmetrik/qiyshiq/bimodal (4.5; raqam yashiradi)
Density (foiz — taqqoslash) · ko'p histogram (alpha)

4. Batafsil misollar

Misollar real matplotlib/numpy bilan (Agg — grafik xususiyatlari matn bilan tekshiriladi) ishlaydi.

Misol 1 — Histogram

python
"""Histogram (real matplotlib/numpy)."""

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np


def main() -> None:
    np.random.seed(0)
    ballar = np.random.normal(70, 10, 1000)

    fig, ax = plt.subplots()
    n, bins, patches = ax.hist(ballar, bins=20)

    print("=== 1. Oraliqlar (bins) ===")
    print(f"  ustunlar soni: {len(patches)}")

    print("\n=== 2. Chastota (jami) ===")
    print(f"  jami: {int(n.sum())} (1000 qiymat)")

    print("\n=== 3. Eng baland oraliq (markaz) ===")
    print(f"  eng ko'p oraliq indeks: {n.argmax()} (markaz ~70)")

    print("\n=== 4. Shakl ===")
    print("  qo'ng'iroq (normal — markazda ko'p)")
    plt.close(fig)
    print("  ⭐ Histogram — taqsimot (oraliqlar, chastota)")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. Oraliqlar (bins) ===
  ustunlar soni: 20

=== 2. Chastota (jami) ===
  jami: 1000 (1000 qiymat)

=== 3. Eng baland oraliq (markaz) ===
  eng ko'p oraliq indeks: 11 (markaz ~70)

=== 4. Shakl ===
  qo'ng'iroq (normal — markazda ko'p)
  ⭐ Histogram — taqsimot (oraliqlar, chastota)

Nima ko'rsatdi: 2.1-bo'lim.

Misol 2 — Bins ta'siri

python
"""Bins ta'siri (real matplotlib/numpy)."""

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np


def main() -> None:
    np.random.seed(0)
    data = np.random.normal(50, 10, 1000)

    print("=== 1. Kam bins (5) ===")
    fig, ax = plt.subplots()
    n5, _, _ = ax.hist(data, bins=5)
    print(f"  ustunlar: {len(n5)} (qo'pol)")
    plt.close(fig)

    print("\n=== 2. O'rta bins (20) ===")
    fig, ax = plt.subplots()
    n20, _, _ = ax.hist(data, bins=20)
    print(f"  ustunlar: {len(n20)} (yaxshi)")
    plt.close(fig)

    print("\n=== 3. Ko'p bins (100) ===")
    fig, ax = plt.subplots()
    n100, _, _ = ax.hist(data, bins=100)
    print(f"  ustunlar: {len(n100)} (shovqinli)")
    plt.close(fig)

    print("\n=== 4. Xulosa ===")
    print("  bins shaklga ta'sir (kam qo'pol, ko'p shovqin)")
    print("  ⭐ Bins — oraliqlar (balans 20-30)")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. Kam bins (5) ===
  ustunlar: 5 (qo'pol)

=== 2. O'rta bins (20) ===
  ustunlar: 20 (yaxshi)

=== 3. Ko'p bins (100) ===
  ustunlar: 100 (shovqinli)

=== 4. Xulosa ===
  bins shaklga ta'sir (kam qo'pol, ko'p shovqin)
  ⭐ Bins — oraliqlar (balans 20-30)

Nima ko'rsatdi: 2.2-bo'lim.

Misol 3 — Bimodal taqsimot

python
"""Bimodal taqsimot histogrami (real matplotlib/numpy)."""

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np


def main() -> None:
    np.random.seed(0)
    guruh1 = np.random.normal(40, 5, 500)
    guruh2 = np.random.normal(80, 5, 500)
    imtihon = np.concatenate([guruh1, guruh2])

    print("=== 1. O'rtacha (aldaydi) ===")
    print(f"  o'rtacha: {round(imtihon.mean(), 0)} (hech kim ~60 emas)")

    print("\n=== 2. Histogram (ikki cho'qqi) ===")
    fig, ax = plt.subplots()
    n, _, _ = ax.hist(imtihon, bins=20)
    print(f"  ustunlar: {len(n)}")

    print("\n=== 3. Ikki cho'qqi ko'rinadi ===")
    # chap va o'ng yarim
    chap_max = n[:10].max()
    ong_max = n[10:].max()
    print(f"  chap cho'qqi: {int(chap_max)}, o'ng cho'qqi: {int(ong_max)}")

    print("\n=== 4. Xulosa ===")
    print("  histogram bimodalni ko'rsatadi (o'rtacha yashiradi)")
    plt.close(fig)
    print("  ⭐ Histogram — shakl (bimodal)")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. O'rtacha (aldaydi) ===
  o'rtacha: 60.0 (hech kim ~60 emas)

=== 2. Histogram (ikki cho'qqi) ===
  ustunlar: 20

=== 3. Ikki cho'qqi ko'rinadi ===
  chap cho'qqi: 132, o'ng cho'qqi: 142

=== 4. Xulosa ===
  histogram bimodalni ko'rsatadi (o'rtacha yashiradi)
  ⭐ Histogram — shakl (bimodal)

Nima ko'rsatdi: 2.3-bo'lim.

Misol 4 — Ko'p histogram (taqqoslash)

python
"""Ko'p histogram: taqqoslash (real matplotlib/numpy)."""

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np


def main() -> None:
    np.random.seed(0)
    erkak = np.random.normal(175, 7, 500)
    ayol = np.random.normal(162, 6, 500)

    fig, ax = plt.subplots()
    ax.hist(erkak, bins=20, alpha=0.5, label="Erkak")
    ax.hist(ayol, bins=20, alpha=0.5, label="Ayol")
    ax.legend()

    print("=== 1. Ikki histogram ===")
    print(f"  o'rtachalar: erkak {round(erkak.mean(),0)}, ayol {round(ayol.mean(),0)}")

    print("\n=== 2. Shaffof (alpha) ===")
    print(f"  alpha=0.5 (ikkalasi ko'rinadi)")

    print("\n=== 3. Legend ===")
    yorliqlar = [t.get_text() for t in ax.get_legend().get_texts()]
    print(f"  yorliqlar: {yorliqlar}")

    print("\n=== 4. Xulosa ===")
    print("  ko'p histogram — taqqoslash (shaffof)")
    plt.close(fig)
    print("  ⭐ Ko'p histogram — solishtirish (alpha)")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. Ikki histogram ===
  o'rtachalar: erkak 175.0, ayol 162.0

=== 2. Shaffof (alpha) ===
  alpha=0.5 (ikkalasi ko'rinadi)

=== 3. Legend ===
  yorliqlar: ['Erkak', 'Ayol']

=== 4. Xulosa ===
  ko'p histogram — taqqoslash (shaffof)
  ⭐ Ko'p histogram — solishtirish (alpha)

Nima ko'rsatdi: 2.5-bo'lim.


5. To'g'ri va noto'g'ri tushunishlar

Noto'g'ri fikr To'g'risi
"histogram = bar" Son taqsimoti (bar — kategoriya)
"bins muhim emas" Shaklga ta'sir (balans)
"kam bins yaxshi" Shakl yashirin (bimodal)
"ko'p bins aniqroq" Shovqinli (naqsh yo'q)
"shakl raqamda" Histogram ko'rsatadi (4.5)
"chastota doim" density (taqqoslash)
"ko'p histogram OK" 2-3 (chalkash — box plot)
"kategoriyaga hist" Son (kategoriya — bar)

6. Keng tarqalgan xatolar va yechimlari

1. Bins noto'g'ri

python
ax.hist(data, bins=5)   # kam (bimodal yashirin)              # ⚠️
ax.hist(data, bins=20)   # balans (sinab ko'r)                # ✅

2. Kategoriyaga hist

python
ax.hist(shaharlar)   # kategoriya (noto'g'ri)                 # ⚠️
ax.bar(shaharlar, sanoq)   # bar (kategoriya — 5.3)           # ✅

3. Hajm adolatsiz

python
ax.hist(katta); ax.hist(kichik)   # turli hajm (adolatsiz)    # ⚠️
ax.hist(..., density=True)   # foiz (adolatli)                # ✅

4. Ko'p histogram

python
# 5 histogram ustma-ust (chalkash)                            # ⚠️
# box plot 5.6-bob yoki alohida                                 # ✅

5. Bimodal yashirinishi

python
ax.hist(bimodal, bins=5)   # bir cho'qqi ko'rinadi            # ⚠️
ax.hist(bimodal, bins=30)   # ikki cho'qqi (sina)             # ✅

6. Outlier siqadi

python
ax.hist(data_outlier)   # o'q kengayadi (asosiy siqiladi)     # ⚠️
# outlier tekshir/kesish (asosiy taqsimot)                    # ✅

7. NaN

python
ax.hist(data_nan)   # NaN xato                                # ⚠️
ax.hist(data.dropna())   # NaN tashlash                       # ✅

7. Integratsiya — bu bilim qayerda kerak bo'ladi

  • 4.5-dars (o'tilgan): Taqsimot (skewness — shakl)
  • 4.6-dars (o'tilgan): Normal (qo'ng'iroq)
  • 5.6-dars: Box plot (taqsimot — kvartil)
  • 5.7-dars: Seaborn (histplot, KDE)
  • 9-qism (reja): EDA (univariate)

8. Eng yaxshi amaliyotlar

  1. ax.hist — son taqsimoti (kategoriya — bar).

  2. Bins balans (20-30, sinab ko'r).

  3. Shakl ko'r (simmetrik/qiyshiq/bimodal).

  4. density — taqqoslash (turli hajm).

  5. Ko'p histogram — shaffof (alpha, 2-3).

  6. Bimodal — bins sina (yashirinmasin).

  7. Histogram — son ustun birinchi qadam.

  8. Histogram — bir o'zgaruvchan taqsimoti.


9. Amaliy topshiriq

Vazifa 1: Bashorat qiling

python
1.  # histogram nima?
2.  # hist nima qiladi?
3.  # bins nima?
4.  # bins shaklga ta'sirmi?
5.  # kam bins?
6.  # ko'p bins?
7.  # qanday shakllar?
8.  # density nima?
9.  # ko'p histogram?
10. # kategoriyaga hist?
11. # bimodal ko'rinadimi?
12. # nega histogram muhim?
Javoblar
  1. Bir o'zgaruvchan taqsimoti
  2. Oraliqlarga bo'lib chastota
  3. Oraliqlar soni
  4. Ha (shakl o'zgaradi)
  5. Qo'pol (shakl yashirin)
  6. Shovqinli (naqsh yo'q)
  7. Simmetrik/qiyshiq/bimodal
  8. Foiz/ehtimol (taqqoslash)
  9. Shaffof (alpha — taqqoslash)
  10. Yo'q (bar)
  11. Ha (yetarli bins bilan)
  12. Taqsimot shakli (birinchi qadam)

Vazifa 2: Xatolarni tuzating

python
1.  ax.hist(data, bins=5)   # bimodal

2.  ax.hist(shaharlar)   # kategoriya

3.  ax.hist(katta); ax.hist(kichik)   # hajm

4.  # 5 histogram ustma-ust

5.  ax.hist(data_nan)   # NaN
Javoblar
python
1.  bins=20-30 (sina)

2.  ax.bar (kategoriya)

3.  density=True (foiz)

4.  box plot (5.6)

5.  data.dropna()

Vazifa 3: Histogram

Modellang:

  1. Oraliqlar
  2. Chastota
  3. Taqsimot
  4. Son

Vazifa 4: Bins

Modellang:

  1. Oraliqlar soni
  2. Kam (qo'pol)
  3. Ko'p (shovqin)
  4. Balans

Vazifa 5: Shakl

Modellang:

  1. Simmetrik
  2. Qiyshiq
  3. Bimodal
  4. 4.5

Vazifa 6: Density/ko'p

Modellang:

  1. Foiz
  2. Taqqoslash
  3. Shaffof
  4. alpha

Vazifa 7: O'ylash

Bir xil ma'lumot turli bins soni bilan butunlay boshqa ko'rinishga ega bo'lishi mumkin (kam bins — qo'pol, ko'p bins — shovqinli; bimodal yashirinishi mumkin). Nima uchun bins tanlash muhim va sub'ektiv, va nega bir necha bins qiymatini sinab ko'rish (bitta emas) yaxshi amaliyot?

Javob

Qisqa javob: Bins tanlov muhim/sub'ektiv, bir necha bins sinash yaxshi, chunki: (1) bins shaklni o'zgartiradi — histogram oraliqlarga bog'liq (kam bins — keng oraliq, silliq/qo'pol, detal yo'q; ko'p bins — tor oraliq, shovqinli, har nuqta); bir xil ma'lumot, turli bins — turli shakl (bimodal kam bins bilan bir cho'qqi; ko'p bins bilan ikki); (2) sub'ektiv — "to'g'ri" bins yo'q (qoida taxminan — sqrt(n), Sturges; lekin ma'lumotga bog'liq — sinab ko'rish); tanlov maqsadga (umumiy shakl — kam; detal — ko'proq); (3) yashirin naqsh — noto'g'ri bins naqshni yashiradi (bimodal — kam bins bir cho'qqi; g'alati naqsh — ko'p bins shovqin). "Nega bir necha sinash": (a) shakl barqarorligi — turli bins bir xil shakl ko'rsatsa — ishonchli (haqiqiy naqsh); turli bins turli shakl — ehtiyot (bins artefakti); (b) naqsh tekshir — bimodal (2 cho'qqi) — turli bins bilan sina (bir cho'qqi kam bins artefakti-mi?); (c) shovqin vs signal — ko'p bins (shovqin — tasodifiy o'ynash) vs kam bins (signal — asosiy shakl); balans (signal ko'rinadi, shovqin yo'q); (d) maqsad — umumiy shakl (kam) yoki detal (ko'p) — maqsadga bins. Saboqlar: bins shaklni o'zgartiradi (kam qo'pol, ko'p shovqin); sub'ektiv (to'g'ri bins yo'q — ma'lumotga); bir necha sina (shakl barqaror-mi); yashirin naqsh (bimodal — bins tekshir). To'g'ri: bir necha bins sina (20, 30, 50); shakl barqaror — ishonchli; artefakt — ehtiyot. Muvozanat: kam bins (umumiy — silliq) + ko'p bins (detal — shovqin); balans (signal, shovqin yo'q — sinab). Bu vizualizatsiya nozikligi (bins — sub'ektiv, shaklga ta'sir; sinab ko'r — bir bins aldash mumkin; halol — ma'lumotni to'g'ri ko'rsatish). Histogram — bins sina (shakl barqarorligi).

1. Nega bins muhim/sub'ektiv

  • Bins shaklni o'zgartiradi (kam qo'pol, ko'p shovqin)
  • Bir xil ma'lumot, turli bins — turli shakl
  • "To'g'ri" bins yo'q (ma'lumotga — sinab)

2. Nega bir necha sina

  • Shakl barqarorligi (turli bins bir shakl — ishonchli)
  • Naqsh tekshir (bimodal — artefakt-mi)
  • Shovqin vs signal (balans)
  • Maqsad (umumiy/detal)

3. Bins ta'siri

Kam bins Ko'p bins
Qo'pol (silliq) Shovqinli
Detal yo'q Naqsh yo'q
Bimodal yashirin Har nuqta

4. Saboqlar

  1. Bins shaklni o'zgartiradi (sub'ektiv)
  2. Bir necha sina (barqaror-mi)
  3. Yashirin naqsh (bimodal — tekshir)
  4. Balans (signal, shovqin yo'q)

5. Xulosa

  1. Bins shaklga ta'sir (kam/ko'p — turli)
  2. Sub'ektiv (to'g'ri bins yo'q — sina)
  3. Bir necha bins (shakl barqaror — ishonchli)
  4. Halol (ma'lumotni to'g'ri ko'rsatish)

Nimani mustahkamlaydi: 2.2, 2.7-bo'limlar.


Xulosa

Bu darsda histogramni o'rgandik.

Eng muhim uch fikr:

  1. Histogram va bins. Histogram (ax.hist(data, bins=20)) — qiymatlarni oraliqlarga (bins) bo'lib, har oraliqda nechta (chastota — ustun balandlik; bir o'zgaruvchan taqsimoti). Bins (oraliqlar soni — shaklga ta'sir): kam (5 — qo'pol, yashirin), o'rta (20-30 — yaxshi), ko'p (100 — shovqinli); balans (~`sqrt(n)`, sinab ko'r; bir xil ma'lumot turli bins — turli shakl).

  2. Shakl va zichlik. Taqsimot shakli — histogram ko'zga ochadi 4.5-bob: simmetrik (qo'ng'iroq — normal), qiyshiq (dum — maosh), bimodal (ikki cho'qqi — ikki guruh, o'rtacha aldaydi). Zichlik (density=True — chastota o'rniga foiz/ehtimol; turli hajm taqqoslash adolatli). Ko'p histogram — shaffof (alpha — ustma-ust, solishtirish; legend; 2-3).

  3. Taqsimot ko'rish. Histogram — bir o'zgaruvchan taqsimoti (shakl, markaz, tarqoqlik — son ustun birinchi qadam); shakl statistikani belgilaydi (simmetrik — o'rtacha; qiyshiq — median; bimodal — segmentatsiya; 4.5). Bins sub'ektiv (bir necha sina — shakl barqaror-mi; noto'g'ri bins naqshni yashiradi). Data Science'da doim (son ustun tahlili; EDA 9-qism; statistika + histogram). Tuzoqlar: bins noto'g'ri (yashirin/shovqin), kategoriyaga hist (bar), hajm adolatsiz (density), bimodal yashirinish.

Keyingi darsda box plot (quti diagramma)ni o'rganamiz: taqsimotni 5 son bilan (beshtalik xulosa — 4.4), outlier va guruhlar taqqoslashi.

Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
5.5-dars: Histogram — IlmHamroh