Mundarija (22)
- 1. Kirish va motivatsiya
- 2. Nazariya — chuqur tushuntirish
- 2.1. Box plot (boxplot)
- 2.2. Box plot qismlari
- 2.3. Guruh taqqoslash
- 2.4. Box plot vs histogram
- 2.5. Outlier ko'rsatish
- 2.6. Box plot amaliyoti
- 2.7. Box plot tuzoqlari
- 2.8. Box plot — ixcham taqsimot va taqqoslash
- 3. Tez ma'lumotnoma
- 4. Batafsil misollar
- Misol 1 — Box plot
- Misol 2 — Guruh taqqoslash
- Misol 3 — Outlier ko'rsatish
- Misol 4 — Box plot vs histogram (bimodal)
- 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
5.6-dars: Box plot
5-QISM — VIZUALIZATSIYA · 6-dars
1. Kirish va motivatsiya
Box plot (quti diagramma) — taqsimotni beshtalik xulosa 4.4-bob bilan ixcham ko'rsatuvchi grafik: median, kvartillar (Q1, Q3), va outlier'lar. Quti Q1 dan Q3 gacha (o'rta 50%), ichidagi chiziq — median, "mo'ylovlar" (whiskers) — asosiy diapazon, chetdagi nuqtalar — outlier. Box plot histogramdan kamroq detal beradi, lekin guruhlarni taqqoslashda tengsiz: 10 shahar maoshini yonma-yon (10 quti) — median, tarqoqlik, outlier bir qarashda. Nega muhim? (1) Ixcham taqsimot — 5 son (median, kvartil, outlier); (2) Guruh taqqoslash — ko'p quti yonma-yon; (3) Outlier — chetdagi nuqtalar aniq. Bu dars box plotni chuqur o'rgatadi — taqsimotni ixcham ko'rsatish va taqqoslash.
Box plot — taqsimot beshtalik xulosa: ax.boxplot (quti — Q1/median/Q3/mo'ylov/outlier), beshtalik xulosa (min, Q1, median, Q3, max — 4.4), quti (Q1-Q3 — o'rta 50%, IQR), mo'ylov (whisker — asosiy diapazon, 1.5*IQR), outlier (chetdagi nuqta), guruh taqqoslash (ko'p quti yonma-yon). Foydalanish: ixcham taqsimot, guruh taqqoslash, outlier. Bu 4.4 (kvartil), 5.5 (histogram) bilan bog'liq. Box plot — beshtalik xulosa. Guruh. Outlier.
Real vaziyat. Data Scientist 10 shahar maoshini taqqosladi: ax.boxplot([shahar1, shahar2, ...]) — har shahar bir quti (median chiziq — o'rta maosh; quti — o'rta 50%; mo'ylov — diapazon; nuqtalar — outlier). Bir qarashda: Toshkent median yuqori (chiziq baland), tarqoqlik katta (quti keng); ba'zi shaharda outlier (juda yuqori maosh — direktor). Histogram (bir shahar — detal shakl) vs box plot (10 shahar — taqqoslash, ixcham). Outlier (chetdagi nuqta — 1.5*IQR, 4.4). Box plot guruhlarni taqqosladi (median/tarqoqlik/outlier — bir qarashda). Box plot — taqqoslash ko'zi (ixcham, guruh).
Bu darsda box plotni o'rganamiz.
Bu darsda:
- Box plot (boxplot)
- Box plot qismlari (quti, mo'ylov, outlier)
- Guruh taqqoslash
- Box plot vs histogram
- Outlier ko'rsatish
- Box plot amaliyoti
- Box plot tuzoqlari
- Amaliy: box plot modeli
ℹ Misollar real matplotlib/numpy bilan (Agg — grafik xususiyatlari matn bilan tekshiriladi) ishlaydi.
2. Nazariya — chuqur tushuntirish
2.1. Box plot (boxplot)
Taqsimot 5 son bilan:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
data = np.random.normal(50, 15, 200)
fig, ax = plt.subplots()
ax.boxplot(data) # quti: Q1/median/Q3/mo'ylov/outlier
ax.set_ylabel("Qiymat") Box plot (boxplot) — taqsimot beshtalik xulosa: ax.boxplot(data) (quti — median, kvartillar (Q1/Q3), mo'ylov, outlier; 4.4 beshtalik xulosa). Sabab: taqsimotni ixcham ko'rsatish (5 son — median markaz, kvartil tarqoqlik, outlier chet; histogram — detal, box plot — ixcham); guruh taqqoslash (ko'p quti — bir qarashda). ax.boxplot(data) (bir quti) yoki ax.boxplot([a, b, c]) (ko'p — taqqoslash). Box plot beshtalik xulosani vizual (4.4 — min/Q1/median/Q3/max). Box plot — boxplot (beshtalik xulosa). Ixcham. Guruh.
2.2. Box plot qismlari
Quti, mo'ylov, outlier:
BOX PLOT QISMLARI:
┬ ← yuqori mo'ylov (Q3 + 1.5*IQR gacha)
│
┌─┐ ← Q3 (75%)
│ │ ← QUTI (o'rta 50% — IQR)
├─┤ ← MEDIAN (50% — o'rta chiziq)
│ │
└─┘ ← Q1 (25%)
│
┴ ← past mo'ylov (Q1 - 1.5*IQR gacha)
o ← OUTLIER (mo'ylovdan tashqari — chetdagi nuqta)Box plot qismlari — quti, mo'ylov, outlier: quti (box — Q1 dan Q3 gacha, o'rta 50% — IQR 4.4), median chiziq (quti ichida — 50%, markaz), mo'ylov (whisker — quti'dan chiziqlar; asosiy diapazon — 1.5*IQR gacha), outlier (mo'ylovdan tashqari — chetdagi nuqta, 4.4). Sabab: box plot beshtalik xulosani ko'rsatadi (quti — kvartil/IQR; median — markaz; mo'ylov — diapazon; outlier — chet); har qism ma'no (quti balandlik — tarqoqlik; median joyi — markaz; outlier — chet). Box plot qismlari — quti (Q1-Q3), median, mo'ylov (1.5*IQR), outlier. Beshtalik. Qism.
2.3. Guruh taqqoslash
Ko'p quti yonma-yon:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
shahar1 = np.random.normal(500, 100, 200)
shahar2 = np.random.normal(400, 80, 200)
shahar3 = np.random.normal(600, 150, 200)
fig, ax = plt.subplots()
ax.boxplot([shahar1, shahar2, shahar3], tick_labels=["T", "S", "B"])
# har shahar — bir quti (median, tarqoqlik, outlier taqqoslash) Guruh taqqoslash — ko'p quti yonma-yon: ax.boxplot([a, b, c], tick_labels=[...]) (har guruh bir quti — yonma-yon; taqqoslash). Sabab: box plot eng kuchli guruh taqqoslashda (10 shahar maoshi — 10 quti; median/tarqoqlik/outlier bir qarashda); histogram (bir taqsimot — detal; ko'p — chalkash 5.5); box plot ixcham (ko'p guruh — yonma-yon, aniq). Taqqoslash: median (chiziq balandlik — qaysi katta), tarqoqlik (quti kengligi — qaysi keng), outlier (chet — qaysi). Guruh taqqoslash — ko'p quti (yonma-yon). Ixcham. Bir qarashda.
2.4. Box plot vs histogram
Box plot vs histogram — qachon qaysi: histogram (bir taqsimot — detal shakl: bimodal, aniq shakl; bir/ikki o'zgaruvchan), box plot (ixcham — 5 son: median/kvartil/outlier; guruh taqqoslash — ko'p yonma-yon). Sabab: turli maqsad — shakl detal (histogram — bimodal ko'rinadi; box plot bimodalni yashiradi — faqat median/kvartil), taqqoslash (box plot — ko'p guruh yonma-yon; histogram — 2-3 chalkash). Box plot kamchiligi: shakl detal yo'q (bimodal — box plot bir xil ko'rsatadi; histogram kerak). Box plot (taqqoslash, ixcham, outlier), histogram (shakl detal, bir taqsimot). Box plot vs histogram — ixcham/taqqoslash vs detal shakl. Qachon qaysi. Maqsad.
2.5. Outlier ko'rsatish
Outlier ko'rsatish — chetdagi nuqta: box plot outlierni avtomatik ko'rsatadi (mo'ylovdan tashqari — Q1-1.5*IQR past yoki Q3+1.5*IQR yuqori; 4.4; alohida nuqta). Sabab: box plot outlier aniqlash uchun ideal (IQR usuli — 4.4; chetdagi nuqta avtomatik); guruh outlier (ko'p quti — qaysi guruhda outlier). whis (mo'ylov uzunligi — standart 1.5; o'zgartirish mumkin). Outlier tekshirish (box plot — ko'r; xato yoki maxsus holat — tozalash 6-qism). Box plot outlier + taqsimot (bir grafikda). Outlier ko'rsatish — chetdagi nuqta (avtomatik, 1.5*IQR). Outlier. IQR.
2.6. Box plot amaliyoti
Box plot amaliyoti: ax.boxplot (beshtalik xulosa); qismlar (quti Q1-Q3, median, mo'ylov, outlier); guruh taqqoslash (ko'p quti — tick_labels); vs histogram (ixcham/taqqoslash vs detal); outlier (avtomatik — 1.5*IQR); Pandas/Seaborn (df.boxplot(), sns.boxplot() — tez, 5.7); bezash (title/label). Tuzoqlar: bimodal yashirinish (histogram kerak), kam ma'lumot (box plot ishonchsiz), outlier chegara (1.5 standart), tick_labels yo'q (qaysi quti). Amaliyot — boxplot, qismlar, guruh, outlier. Ixcham. Taqqoslash.
2.7. Box plot tuzoqlari
Box plot asosiy tuzoqlari: bimodal yashirinish (box plot shakl detal yo'q — bimodal (ikki cho'qqi) box plotda bir xil (median/kvartil — ikki cho'qqi ko'rinmaydi); histogram 5.5-bob shakl uchun; box plot + histogram); kam ma'lumot (kam nuqta — kvartil/median beqaror; box plot ishonchsiz; katta namuna); outlier chegara (1.5IQR — standart lekin qat'iy emas; kontekstga — ba'zan 3IQR; box plot standart 1.5); tick_labels yo'q (ko'p quti — qaysi guruh; tick_labels); median vs o'rtacha (box plot median (chiziq) — o'rtacha emas; qiyshiqda farqli 4.2); ustma-ust taqqoslash (box plot yonma-yon — yaxshi; lekin juda ko'p (50 quti) chalkash); taqsimot shakli (box plot — kvartil; shakl (normal? qiyshiq?) histogram/violin). Sabab: box plot shakl/ma'lumot nozik (bimodal yashirin, kam ma'lumot — jim xato). Yechim: histogram (shakl), katta namuna, tick_labels, median tushun. Tuzoqlar — bimodal, kam ma'lumot, outlier chegara, tick_labels.
2.8. Box plot — ixcham taqsimot va taqqoslash
Box plot asosiy g'oyasi — ixcham taqsimot va taqqoslash: taqsimotni beshtalik xulosa (4.4 — min/Q1/median/Q3/max) bilan ixcham ko'rsatadi (quti — kvartil/IQR; median — markaz; mo'ylov — diapazon; outlier — chet); guruh taqqoslashda tengsiz (ko'p quti yonma-yon — median/tarqoqlik/outlier bir qarashda). ax.boxplot (quti — 5 son), qismlar (quti Q1-Q3, median chiziq, mo'ylov 1.5*IQR, outlier), guruh taqqoslash (ko'p quti — tick_labels), outlier (avtomatik — IQR usuli 4.4). Box plot vs histogram: box plot (ixcham, taqqoslash, outlier — shakl detal yo'q, bimodal yashirin); histogram (detal shakl, bir taqsimot). Foydalanish: guruh taqqoslash (10 shahar — median/tarqoqlik), outlier (chet — tozalash 6-qism), ixcham taqsimot (5 son). Data Science'da keng (guruh taqqoslash — EDA 9-qism; outlier — tozalash). Bu 4.4 (kvartil, beshtalik xulosa) davomi (box plot — vizual) va 5.5 (histogram — shakl), 5.7 (seaborn — violin) bilan. Box plot — ixcham taqsimot va taqqoslash (beshtalik xulosa, guruh). Ixcham. Taqqoslash.
3. Tez ma'lumotnoma
import matplotlib.pyplot as plt
# BOX PLOT (beshtalik xulosa — 4.4):
fig, ax = plt.subplots()
ax.boxplot(data)
# QISMLAR:
# quti — Q1 dan Q3 gacha (o'rta 50% — IQR)
# median chiziq — 50% (markaz)
# mo'ylov (whisker) — 1.5*IQR gacha (asosiy diapazon)
# outlier — chetdagi nuqta (avtomatik)
# GURUH TAQQOSLASH (ko'p quti yonma-yon):
ax.boxplot([shahar1, shahar2, shahar3], tick_labels=["T", "S", "B"])
# BOX PLOT vs HISTOGRAM:
# box plot — ixcham, taqqoslash, outlier (shakl detal YO'Q)
# histogram — detal shakl (bimodal), bir taqsimot
# PANDAS/SEABORN (tez — 5.7):
df.boxplot(column="maosh", by="shahar")
QOIDA: guruh taqqoslash (box plot) · shakl (histogram) · outlier (1.5*IQR) · medianBox plot xulosasi
Box plot — ixcham taqsimot va taqqoslash (beshtalik xulosa)
Quti (Q1-Q3, IQR) · median chiziq · mo'ylov (1.5*IQR) · outlier
Guruh taqqoslash — ko'p quti yonma-yon (tengsiz)
vs histogram — ixcham/taqqoslash (box) vs detal shakl (hist)
Bimodal yashiradi (histogram kerak)4. Batafsil misollar
Misollar real matplotlib/numpy bilan (Agg — grafik xususiyatlari matn bilan tekshiriladi) ishlaydi.
Misol 1 — Box plot
"""Box plot (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, 15, 200)
fig, ax = plt.subplots()
bp = ax.boxplot(data)
print("=== 1. Box plot ===")
print(f" qutilar: {len(bp['boxes'])}")
print("\n=== 2. Median ===")
median_chiziq = bp["medians"][0].get_ydata()
print(f" median: {round(median_chiziq[0], 0)}")
print("\n=== 3. Beshtalik xulosa ===")
print(f" Q1: {round(np.percentile(data, 25), 0)}")
print(f" median: {round(np.percentile(data, 50), 0)}")
print(f" Q3: {round(np.percentile(data, 75), 0)}")
print("\n=== 4. Tushuntirish ===")
print(" box plot — beshtalik xulosa (ixcham)")
plt.close(fig)
print(" ⭐ Box plot — beshtalik xulosa 4.4-bob")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Box plot ===
qutilar: 1
=== 2. Median ===
median: 51.0
=== 3. Beshtalik xulosa ===
Q1: 39.0
median: 51.0
Q3: 62.0
=== 4. Tushuntirish ===
box plot — beshtalik xulosa (ixcham)
⭐ Box plot — beshtalik xulosa (4.4)Nima ko'rsatdi: 2.1, 2.2-bo'limlar.
Misol 2 — Guruh taqqoslash
"""Guruh taqqoslash: box plot (real matplotlib/numpy)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np
def main() -> None:
np.random.seed(0)
shahar1 = np.random.normal(500, 100, 200)
shahar2 = np.random.normal(400, 80, 200)
shahar3 = np.random.normal(600, 150, 200)
fig, ax = plt.subplots()
bp = ax.boxplot([shahar1, shahar2, shahar3], tick_labels=["T", "S", "B"])
print("=== 1. Uch quti ===")
print(f" qutilar: {len(bp['boxes'])}")
print("\n=== 2. Medianlar ===")
medianlar = [round(m.get_ydata()[0], 0) for m in bp["medians"]]
print(f" median (T, S, B): {medianlar}")
print("\n=== 3. Eng yuqori median (B) ===")
print(f" eng yuqori: {['T','S','B'][medianlar.index(max(medianlar))]}")
print("\n=== 4. Taqqoslash ===")
print(" har shahar bir quti (median/tarqoqlik bir qarashda)")
plt.close(fig)
print(" ⭐ Guruh taqqoslash — ko'p quti yonma-yon")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Uch quti ===
qutilar: 3
=== 2. Medianlar ===
median (T, S, B): [np.float64(505.0), np.float64(388.0), np.float64(589.0)]
=== 3. Eng yuqori median (B) ===
eng yuqori: B
=== 4. Taqqoslash ===
har shahar bir quti (median/tarqoqlik bir qarashda)
⭐ Guruh taqqoslash — ko'p quti yonma-yonNima ko'rsatdi: 2.3-bo'lim.
Misol 3 — Outlier ko'rsatish
"""Outlier: box plot (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, 100)
data = np.append(data, [120, 130, 5]) # outlierlar
fig, ax = plt.subplots()
bp = ax.boxplot(data)
print("=== 1. Outlierlar (fliers) ===")
outlierlar = bp["fliers"][0].get_ydata()
print(f" outlier soni: {len(outlierlar)}")
print("\n=== 2. Outlier qiymatlar ===")
print(f" outlierlar: {sorted([int(v) for v in outlierlar])}")
print("\n=== 3. IQR chegarasi 4.4-bob ===")
Q1, Q3 = np.percentile(data, 25), np.percentile(data, 75)
IQR = Q3 - Q1
print(f" yuqori chegara: {round(Q3 + 1.5*IQR, 0)}")
print("\n=== 4. Tushuntirish ===")
print(" box plot outlierni avtomatik (1.5*IQR — 4.4)")
plt.close(fig)
print(" ⭐ Outlier — chetdagi nuqta (avtomatik)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Outlierlar (fliers) ===
outlier soni: 3
=== 2. Outlier qiymatlar ===
outlierlar: [5, 120, 130]
=== 3. IQR chegarasi 4.4-bob ===
yuqori chegara: 79.0
=== 4. Tushuntirish ===
box plot outlierni avtomatik (1.5*IQR — 4.4)
⭐ Outlier — chetdagi nuqta (avtomatik)Nima ko'rsatdi: 2.5-bo'lim.
Misol 4 — Box plot vs histogram (bimodal)
"""Box plot vs histogram: bimodal (real matplotlib/numpy)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np
def main() -> None:
np.random.seed(0)
bimodal = np.concatenate([np.random.normal(30, 5, 500), np.random.normal(70, 5, 500)])
print("=== 1. Bimodal ma'lumot ===")
print(f" ikki guruh: 30 va 70 atrofida")
print("\n=== 2. Box plot (bimodal yashiradi) ===")
fig, ax = plt.subplots()
bp = ax.boxplot(bimodal)
median = bp["medians"][0].get_ydata()[0]
print(f" median: {round(median, 0)} (~50 — ikki cho'qqi ko'rinmaydi)")
plt.close(fig)
print("\n=== 3. Histogram (bimodal ko'rsatadi) ===")
fig, ax = plt.subplots()
n, _, _ = ax.hist(bimodal, bins=20)
print(f" ikki cho'qqi: chap {int(n[:10].max())}, o'ng {int(n[10:].max())}")
plt.close(fig)
print("\n=== 4. Xulosa ===")
print(" box plot ixcham (bimodal yashiradi), histogram shakl")
print(" ⭐ Box plot vs histogram — ixcham vs detal shakl")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Bimodal ma'lumot ===
ikki guruh: 30 va 70 atrofida
=== 2. Box plot (bimodal yashiradi) ===
median: 49.0 (~50 — ikki cho'qqi ko'rinmaydi)
=== 3. Histogram (bimodal ko'rsatadi) ===
ikki cho'qqi: chap 132, o'ng 142
=== 4. Xulosa ===
box plot ixcham (bimodal yashiradi), histogram shakl
⭐ Box plot vs histogram — ixcham vs detal shaklNima ko'rsatdi: 2.4-bo'lim.
5. To'g'ri va noto'g'ri tushunishlar
| Noto'g'ri fikr | To'g'risi |
|---|---|
| "box plot shakl detal" | Ixcham (bimodal yashiradi) |
| "box plot = histogram" | Ixcham/taqqoslash vs detal |
| "quti — hamma ma'lumot" | O'rta 50% (Q1-Q3) |
| "chiziq — o'rtacha" | Median (50%) |
| "mo'ylov — hamma diapazon" | 1.5*IQR (outlier tashqari) |
| "outlier qo'lda" | Avtomatik (1.5*IQR) |
| "bir taqsimot uchun" | Guruh taqqoslash (kuchli) |
| "kam ma'lumot OK" | Beqaror (katta namuna) |
6. Keng tarqalgan xatolar va yechimlari
1. Bimodal yashirinishi
ax.boxplot(bimodal) # ikki cho'qqi ko'rinmaydi # ⚠️
ax.hist(bimodal) # shakl (histogram — 5.5) # ✅2. Kam ma'lumot
ax.boxplot([1, 2, 3]) # beqaror (kvartil) # ⚠️
# katta namuna (ishonchli) # ✅3. tick_labels yo'q
ax.boxplot([a, b, c]) # qaysi quti qaysi # ⚠️
ax.boxplot([a, b, c], tick_labels=["A", "B", "C"]) # ✅4. Median vs o'rtacha
# box plot chiziq — o'rtacha deb # ⚠️
# median (50% — qiyshiqda farqli 4.2) # ✅5. Juda ko'p quti
ax.boxplot([50 guruh]) # chalkash # ⚠️
# kam guruh yoki saralab (top N) # ✅6. Shakl uchun box plot
ax.boxplot(data) # shakl (normal? qiyshiq?) # ⚠️
ax.hist(data) # histogram (shakl — 5.5) # ✅7. Outlier chegara
# 1.5*IQR qat'iy deb # ⚠️
# whis= (kontekst — ba'zan 3*IQR) # ✅7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 4.4-dars (o'tilgan): Kvartil, beshtalik xulosa, IQR
- 5.5-dars (o'tilgan): Histogram (shakl)
- 5.7-dars: Seaborn (boxplot, violin)
- 6-qism: Tozalash (outlier — IQR)
- 9-qism (reja): EDA (guruh taqqoslash)
8. Eng yaxshi amaliyotlar
ax.boxplot— beshtalik xulosa 4.4-bob.Guruh taqqoslash — ko'p quti (kuchli).
Shakl — histogram (box plot bimodal yashiradi).
tick_labels— qaysi quti.Outlier — avtomatik (1.5*IQR).
Median (chiziq — o'rtacha emas).
Katta namuna (kvartil barqaror).
Box plot — ixcham taqsimot va taqqoslash.
9. Amaliy topshiriq
Vazifa 1: Bashorat qiling
1. # box plot nima?
2. # quti nima?
3. # chiziq nima?
4. # mo'ylov nima?
5. # outlier qanday?
6. # guruh taqqoslash?
7. # box plot vs histogram?
8. # bimodal ko'rinadimi?
9. # kam ma'lumot?
10. # tick_labels?
11. # chiziq o'rtachami?
12. # nega box plot muhim?Javoblar
- Ixcham taqsimot (beshtalik xulosa)
- Q1 dan Q3 gacha (o'rta 50%)
- Median (50%)
- 1.5*IQR gacha (diapazon)
- Chetdagi nuqta (avtomatik)
- Ko'p quti yonma-yon
- Ixcham/taqqoslash vs detal shakl
- Yo'q (yashiradi — histogram)
- Beqaror (katta namuna)
- Qaysi quti qaysi guruh
- Yo'q (median)
- Ixcham taqsimot, guruh taqqoslash
Vazifa 2: Xatolarni tuzating
1. ax.boxplot(bimodal) # ikki cho'qqi
2. ax.boxplot([1, 2, 3]) # kam
3. ax.boxplot([a, b, c]) # qaysi quti
4. # box plot chiziq = o'rtacha
5. ax.boxplot(data) # shaklJavoblar
1. ax.hist(bimodal) (shakl)
2. katta namuna
3. tick_labels=["A", "B", "C"]
4. median (o'rtacha emas)
5. ax.hist(data) (histogram)Vazifa 3: Box plot
Modellang:
- Beshtalik
- Quti
- Median
- Ixcham
Vazifa 4: Qismlar
Modellang:
- Quti (Q1-Q3)
- Median
- Mo'ylov
- Outlier
Vazifa 5: Taqqoslash
Modellang:
- Ko'p quti
- Yonma-yon
- tick_labels
- Bir qarashda
Vazifa 6: vs histogram
Modellang:
- Ixcham
- Detal shakl
- Taqqoslash
- Bimodal
Vazifa 7: O'ylash
Box plot taqsimotni 5 son bilan ixcham ko'rsatadi va guruhlarni taqqoslashda tengsiz, lekin bimodal (ikki cho'qqili) taqsimotni yashiradi (histogram uni ochadi). Nima uchun box plot va histogram bir-birini to'ldiradi (biri ixcham/taqqoslash, biri detal shakl), va nega "har grafik turining o'z kuchi va kamchiligi bor" degan tushuncha muhim?
Javob
Qisqa javob: Box plot va histogram bir-birini to'ldiradi, har grafik turining kuchi/kamchiligi bor, chunki: (1) box plot — ixcham/taqqoslash — box plot 5 son (median/kvartil/outlier — ixcham); ko'p guruh yonma-yon (10 quti — taqqoslash; kam joy); lekin shakl detal yo'q (bimodal — median/kvartil bir xil, ikki cho'qqi ko'rinmaydi); (2) histogram — detal shakl — histogram butun taqsimot (har oraliq — shakl; bimodal ikki cho'qqi ko'rinadi); lekin taqqoslash qiyin (ko'p histogram — chalkash; ko'p joy); (3) to'ldiradi — box plot (ixcham, taqqoslash — kamchiligi shakl) + histogram (shakl detal — kamchiligi taqqoslash); birga to'liq (histogram — bir taqsimot shakl; box plot — guruh taqqoslash). "Nega har grafik kuchi/kamchiligi": (a) har grafik maqsad — chiziqli (vaqt — 5.2), bar (kategoriya — 5.3), scatter (aloqa — 5.4), histogram (taqsimot shakl — 5.5), box plot (ixcham taqqoslash — 5.6); har biri o'z ishi (universal grafik yo'q); (b) kamchilik muqarrar — ixcham (box plot) → detal yo'q; detal (histogram) → taqqoslash qiyin; savdo (ixcham vs detal); (c) to'g'ri tanlov — maqsadga grafik (taqqoslash — box plot; shakl — histogram; aloqa — scatter; vaqt — chiziqli); noto'g'ri grafik yashiradi (bimodal box plot — yashirin); (d) ko'p grafik — bir ma'lumotni ko'p grafik bilan (box plot + histogram — to'liq; bir grafik yetmaydi). Saboqlar: box plot ixcham/taqqoslash (shakl yo'q); histogram detal shakl (taqqoslash qiyin); to'ldiradi (birga to'liq); har grafik kuchi/kamchiligi (maqsadga tanlov). To'g'ri: maqsadga grafik (taqqoslash — box plot; shakl — histogram); ko'p grafik (to'liq). Muvozanat: ixcham (box plot — taqqoslash) + detal (histogram — shakl); to'ldiradi (birga). Bu vizualizatsiya asosiy (har grafik o'z kuchi — maqsadga tanlov; noto'g'ri grafik yashiradi; ko'p grafik — to'liq rasm). Box plot + histogram — to'ldiruvchi (ixcham + detal).
1. Nega box plot ixcham/taqqoslash
- 5 son (median/kvartil — ixcham)
- Ko'p guruh yonma-yon (taqqoslash)
- Kamchilik: shakl detal yo'q (bimodal yashirin)
2. Nega histogram detal shakl
- Butun taqsimot (har oraliq — shakl)
- Bimodal ko'rinadi (ikki cho'qqi)
- Kamchilik: taqqoslash qiyin (ko'p — chalkash)
3. Nega to'ldiradi
- Box plot (taqqoslash) + histogram (shakl)
- Birga to'liq (bir taqsimot shakl + guruh)
- Har grafik maqsad (o'z ishi)
4. Box plot vs histogram
| Box plot | Histogram |
|---|---|
| Ixcham (5 son) | Detal (shakl) |
| Guruh taqqoslash | Bir taqsimot |
| Bimodal yashirin | Bimodal ko'rinadi |
5. Saboqlar
- Box plot ixcham/taqqoslash (shakl yo'q)
- Histogram detal shakl (taqqoslash qiyin)
- To'ldiradi (birga to'liq)
- Har grafik kuchi/kamchiligi (maqsadga)
6. Xulosa
- Box plot ixcham/taqqoslash (kamchilik shakl)
- Histogram detal shakl (kamchilik taqqoslash)
- To'ldiradi (birga to'liq)
- Har grafik maqsad (to'g'ri tanlov)
Nimani mustahkamlaydi: 2.4, 2.7-bo'limlar.
Xulosa
Bu darsda box plotni o'rgandik.
Eng muhim uch fikr:
Box plot va qismlar. Box plot (
ax.boxplot(data)) — taqsimotni beshtalik xulosa 4.4-bob bilan ixcham ko'rsatadi. Qismlar: quti (Q1 dan Q3 — o'rta 50%, IQR), median chiziq (quti ichida — 50%, markaz; o'rtacha emas), mo'ylov (whisker — 1.5*IQR gacha, asosiy diapazon), outlier (mo'ylovdan tashqari — chetdagi nuqta, avtomatik).Taqqoslash va outlier. Guruh taqqoslash — ko'p quti yonma-yon (
ax.boxplot([a, b, c], tick_labels=[...]); 10 shahar — median/tarqoqlik/outlier bir qarashda; box plot tengsiz taqqoslashda). Outlier — avtomatik (1.5*IQR — 4.4; chetdagi nuqta; guruh outlier). Box plot outlier aniqlash uchun ideal (IQR usuli).Ixcham vs detal. Box plot vs histogram — box plot (ixcham, guruh taqqoslash, outlier — shakl detal yo'q, bimodal yashiradi); histogram (detal shakl — bimodal ko'rinadi, bir taqsimot; taqqoslash qiyin). To'ldiradi (biri ixcham/taqqoslash, biri detal — birga to'liq; har grafik kuchi/kamchiligi — maqsadga tanlov). Box plot — ixcham taqsimot va taqqoslash (beshtalik xulosa, guruh). Data Science'da keng (guruh taqqoslash — EDA 9-qism; outlier — tozalash 6-qism). Bu 4.4 (kvartil) davomi (vizual) va 5.5 (histogram), 5.7 (seaborn — violin) bilan. Tuzoqlar: bimodal yashirinish (histogram), kam ma'lumot (beqaror), tick_labels, median vs o'rtacha.
Keyingi darsda Seabornni o'rganamiz: Matplotlib ustida qurilgan yuqori darajali kutubxona — chiroyli grafiklar, statistik vizualizatsiya (regplot, violinplot) kam kod bilan.
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!